void MinMaxBinCount(aabb_t *aabb, minmaxbin_t *mmb, aabb_t *baabb, int a) { int minindex = GetBin(baabb->min[a], baabb->max[a], aabb->min[a], nsamplepoints); int maxindex = GetBin(baabb->min[a], baabb->max[a], aabb->max[a], nsamplepoints); mmb->minbins[minindex].b[a]++; mmb->maxbins[maxindex].b[a]++; }
QString Calculation::ToJson(QJsonDocument::JsonFormat format) const { QJsonObject calc; calc.insert(CS_JSON_KEY_CALC_BIN, GetBin()); calc.insert(CS_JSON_KEY_FRAG_ID, GetId().toString()); calc.insert(CS_JSON_KEY_CALC_PARAMS, QJsonObject::fromVariantMap(_params)); QJsonDocument doc(calc); return doc.toJson(format); }
// Find a bin int NDHist_Fixed::FindBin(std::vector<double> x) { std::vector<int> binx; for(auto& axis : axes) { int bin = axis.FindBin(x[&axis - &axes[0]]) - 1; binx.push_back(bin); if(bin < 0) return -1; // underflow else if(bin >= axis.GetNbins()) return nbins; // overflow } return GetBin(binx); }
void GetGen(double sampleweight, TH1D* &h_phistar, vector<TH1D*> &h_cteq, vector<TH1D*> &h_fsr_pileup) { gErrorIgnoreLevel = kError; cout << "reading signal gen" << endl; h_phistar = new TH1D("phistar", "phistar", nbins, 0, nbins); h_phistar->Sumw2(); TChain* t = new TChain(gen_name.c_str(), gen_name.c_str()); if (doMG) { if (elec == 0) t->Add(File_Signal_gen.c_str()); else if (elec == 1) t->Add(File_Signal_gen_born.c_str()); else t->Add(File_Signal_gen_bare.c_str()); } else { if (elec == 0) t->Add(File_Powheg_gen.c_str()); else if (elec == 1) t->Add(File_Powheg_gen_born.c_str()); else t->Add(File_Powheg_gen_bare.c_str()); } ///t->SetBranchStatus("event_info", 0); //to disable all branches // t->SetBranchStatus("reco", 0); //to disable all branches TBranch *b_truth = t->GetBranch("truth"); TBranch *b_reco = t->GetBranch("reco"); TLeaf * l_ZY = b_truth->GetLeaf("z_y"); if (elec == 1) l_ZY = b_reco->GetLeaf("z_yBorn"); //TO BE CHANGED if (elec == 2) l_ZY = b_reco->GetLeaf("z_yNaked"); TLeaf *l_phistar = b_truth->GetLeaf("z_phistar_dressed"); if (elec == 1) l_phistar = b_truth->GetLeaf("z_phistar_born"); if (elec == 2) l_phistar = b_truth->GetLeaf("z_phistar_naked"); int nweights; int nwcteq; t->SetBranchAddress("weight_size", &nweights); t->SetBranchAddress("weight_cteq_size", &nwcteq); t->GetEntry(0); double weights[nweights]; int weightid[nweights]; double weights_cteq[nwcteq]; t->SetBranchAddress("weights", &weights); t->SetBranchAddress("weight_ids", &weightid); t->SetBranchAddress("weights_cteq", &weights_cteq); double weight_fsr; t->SetBranchAddress("weight_fsr", &weight_fsr); cout << "Entries: " << t->GetEntries() << endl; h_cteq = EmptyHVec(nwcteq); h_fsr_pileup = EmptyHVec(3); TH1D* h_PDFWeight = new TH1D("h_PDFWeight", "h_PDFWeight", 10000, 0, 100); h_PDFWeight->Sumw2(); // cout << "Nweightcteq=" << nwcteq << endl; for (int i = 0; i < t->GetEntries(); i++) { // for (int i=0; i<50000;i++){ t->GetEntry(i); double weight = sampleweight; double pdfnorm = weights_cteq[0]; double weightpu_0 = 0; double weightpu_p = 0; double weightpu_m = 0; double phistar = l_phistar->GetValue(); double Z_Y = l_ZY->GetValue(); int bin=GetBin(phistar,Z_Y); //cout<<pdfnorm<<" "<<weights_cteq[0]<<endl; for (int w = 0; w < nweights; w++) { if (weightid[w] == 1 || weightid[w] == 2) { weight = weight * weights[w]; } //if (weightid[w]==1) {weight=weight*weights[w];} if (weightid[w] == 2) weightpu_0 = weights[w]; if (weightid[w] == 3) weightpu_p = weights[w]; if (weightid[w] == 4) weightpu_m = weights[w]; } // if (weightpu_0 == 0 || weightpu_p == 0 || weightpu_m == 0) cout << "pile-up weights not there" << endl; h_phistar->Fill(bin, weight); if (pdfnorm != 0) { for (int w = 0; w < nwcteq; w++) { h_cteq[w] ->Fill(bin, weight * weights_cteq[w] / pdfnorm); if (w != 0) { h_PDFWeight->Fill(weights_cteq[w] / pdfnorm, 1); // cout<<weights_cteq[w] / pdfnorm<<endl; } } } if (doMG) weight_fsr = 1; h_fsr_pileup[0]->Fill(bin, weight * weight_fsr); if (weightpu_0 != 0) { h_fsr_pileup[1]->Fill(bin, weight * weightpu_p / weightpu_0); h_fsr_pileup[2]->Fill(bin, weight * weightpu_m / weightpu_0); } } cout << "done reading signal gen" << endl; delete t; return; }
void pgFunction::ShowTreeDetail(ctlTree *browser, frmMain *form, ctlListView *properties, ctlSQLBox *sqlPane) { if (properties) { CreateListColumns(properties); properties->AppendItem(_("Name"), GetName()); properties->AppendItem(_("OID"), GetOid()); properties->AppendItem(_("Owner"), GetOwner()); properties->AppendItem(_("Argument count"), GetArgCount()); properties->AppendItem(_("Arguments"), GetArgListWithNames()); properties->AppendItem(_("Signature arguments"), GetArgSigList()); if (!GetIsProcedure()) properties->AppendItem(_("Return type"), GetReturnType()); properties->AppendItem(_("Language"), GetLanguage()); properties->AppendYesNoItem(_("Returns a set?"), GetReturnAsSet()); if (GetLanguage().IsSameAs(wxT("C"), false)) { properties->AppendItem(_("Object file"), GetBin()); properties->AppendItem(_("Link symbol"), GetSource()); } else properties->AppendItem(_("Source"), firstLineOnly(GetSource())); if (GetConnection()->BackendMinimumVersion(8, 3)) { properties->AppendItem(_("Estimated cost"), GetCost()); if (GetReturnAsSet()) properties->AppendItem(_("Estimated rows"), GetRows()); } properties->AppendItem(_("Volatility"), GetVolatility()); if (GetConnection()->BackendMinimumVersion(9, 2)) properties->AppendYesNoItem(_("Leak proof?"), GetIsLeakProof()); properties->AppendYesNoItem(_("Security of definer?"), GetSecureDefiner()); properties->AppendYesNoItem(_("Strict?"), GetIsStrict()); if (GetConnection()->BackendMinimumVersion(8, 4)) properties->AppendYesNoItem(_("Window?"), GetIsWindow()); size_t i; for (i = 0 ; i < configList.GetCount() ; i++) { wxString item = configList.Item(i); properties->AppendItem(item.BeforeFirst('='), item.AfterFirst('=')); } properties->AppendItem(_("ACL"), GetAcl()); properties->AppendYesNoItem(_("System function?"), GetSystemObject()); properties->AppendItem(_("Comment"), firstLineOnly(GetComment())); if (!GetLabels().IsEmpty()) { wxArrayString seclabels = GetProviderLabelArray(); if (seclabels.GetCount() > 0) { for (unsigned int index = 0 ; index < seclabels.GetCount() - 1 ; index += 2) { properties->AppendItem(seclabels.Item(index), seclabels.Item(index + 1)); } } } } }
wxString pgFunction::GetSql(ctlTree *browser) { if (sql.IsNull()) { wxString qtName = GetQuotedFullIdentifier() + wxT("(") + GetArgListWithNames() + wxT(")"); wxString qtSig = GetQuotedFullIdentifier() + wxT("(") + GetArgSigList() + wxT(")"); sql = wxT("-- Function: ") + qtSig + wxT("\n\n") + wxT("-- DROP FUNCTION ") + qtSig + wxT(";") + wxT("\n\nCREATE OR REPLACE FUNCTION ") + qtName; // Use Oracle style syntax for edb-spl functions if (GetLanguage() == wxT("edbspl") && GetProcType() == 2) { sql += wxT("\nRETURN "); sql += GetReturnType(); sql += wxT(" AS"); if (GetSource().StartsWith(wxT("\n"))) sql += GetSource(); else sql += wxT("\n") + GetSource(); } else { sql += wxT("\n RETURNS "); if (GetReturnAsSet() && !GetReturnType().StartsWith(wxT("TABLE"))) sql += wxT("SETOF "); sql += GetReturnType(); sql += wxT(" AS\n"); if (GetLanguage().IsSameAs(wxT("C"), false)) { sql += qtDbString(GetBin()) + wxT(", ") + qtDbString(GetSource()); } else { if (GetConnection()->BackendMinimumVersion(7, 5)) sql += qtDbStringDollar(GetSource()); else sql += qtDbString(GetSource()); } sql += wxT("\n LANGUAGE ") + GetLanguage() + wxT(" "); if (GetConnection()->BackendMinimumVersion(8, 4) && GetIsWindow()) sql += wxT("WINDOW "); sql += GetVolatility(); if (GetConnection()->BackendMinimumVersion(9, 2) && GetIsLeakProof()) sql += wxT(" LEAKPROOF"); if (GetIsStrict()) sql += wxT(" STRICT"); if (GetSecureDefiner()) sql += wxT(" SECURITY DEFINER"); // PostgreSQL 8.3+ cost/row estimations if (GetConnection()->BackendMinimumVersion(8, 3)) { sql += wxT("\n COST ") + NumToStr(GetCost()); if (GetReturnAsSet()) sql += wxT("\n ROWS ") + NumToStr(GetRows()); } } if (!sql.Strip(wxString::both).EndsWith(wxT(";"))) sql += wxT(";"); size_t i; for (i = 0 ; i < configList.GetCount() ; i++) { if (configList.Item(i).BeforeFirst('=') != wxT("search_path") && configList.Item(i).BeforeFirst('=') != wxT("temp_tablespaces")) sql += wxT("\nALTER FUNCTION ") + qtSig + wxT(" SET ") + configList.Item(i).BeforeFirst('=') + wxT("='") + configList.Item(i).AfterFirst('=') + wxT("';\n"); else sql += wxT("\nALTER FUNCTION ") + qtSig + wxT(" SET ") + configList.Item(i).BeforeFirst('=') + wxT("=") + configList.Item(i).AfterFirst('=') + wxT(";\n"); } sql += wxT("\n") + GetOwnerSql(8, 0, wxT("FUNCTION ") + qtSig) + GetGrant(wxT("X"), wxT("FUNCTION ") + qtSig); if (!GetComment().IsNull()) { sql += wxT("COMMENT ON FUNCTION ") + qtSig + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } if (GetConnection()->BackendMinimumVersion(9, 1)) sql += GetSeqLabelsSql(); } return sql; }