TProof * my_run(TProof * p, unsigned num, double from, double to) { if(p != NULL) TProof * p = TProof::Open("localhost"); TString sel = "TMySelector.cpp"; unsigned u; double tfrom, tto, sum, rres; double step = (to - from) / num; char pname[1024]; int nanosec; time_t sec; double tm[2]; TTimeStamp tst; // ############################################################################ for(u = 0, tfrom = from, tto = step; u < num; u++, tfrom += step, tto += step) { sprintf(pname, "from_%u", u); p->SetParameter(pname, tfrom); sprintf(pname, "to_%u", u); p->SetParameter(pname, tto); } sec = tst.GetSec(); nanosec = tst.GetNanoSec(); p->Process(sel, u); for(u = 0, sum = 0; u < num; u++) { sprintf(pname, "res_%u", u); sum += ((TParameter<Double_t> *) p->GetOutputList()->FindObject(pname))->GetVal(); } tst.Set(); tm[0] = tst.GetSec() - sec + 1 + (tst.GetNanoSec() - nanosec) / 1000000000.0; // ############################################################################ tst.Set(); sec = tst.GetSec(); nanosec = tst.GetNanoSec(); for(rres = 0, step = (to - from) / (num * 10000); from < to; from += step) rres += TMySelector::fun(from) * step; tst.Set(); tm[1] = tst.GetSec() - sec + 1 + (tst.GetNanoSec() - nanosec) / 1000000000.0; // ############################################################################ printf("\nРезультат:\n\n\tПараллельно = %lf (время: %lf секунд)\n\tПоследовательно = %lf (время: %lf секунд)\n\tАбсолютное отклонение = %lf\n\n", sum, tm[0], rres, tm[1], fabs(sum - rres)); return p; }
void TestPeacVerifier() { // gSystem->Load("libPeacUtils.so"); // TProof *p = TProof::Open("skaf.saske.sk:1099","workers=1x"); // TProof *p = TProof::Open("skaf.saske.sk","workers=1x"); TProof *p = TProof::Open("alice-caf.cern.ch", "workers=1x"); p->UploadPackage("../pars/PeacUtils"); if (p->EnablePackage("PeacUtils")) return; // TProofNodes pn(p); // TMap *filesmap = new TMap; // TMap *nodesmap = pn.GetMapOfNodes(); // // TIter nxnd(nodesmap); // TList *wli = 0; // TObject *obj = 0; // Int_t kf = 1; // while ((obj = nxnd()) != 0) { // if ((wli = dynamic_cast<TList *>(nodesmap->GetValue(obj)))) { // THashList *fli = new THashList; // Int_t nf = wli->GetSize(); // TSlaveInfo *wi = (TSlaveInfo *) wli->First(); // Printf("WK: %s",wi->GetName()); // fli->Add(new TObjString(wi->GetName())); // filesmap->Add(new TObjString(obj->GetName()), fli); // } // } // // filesmap->SetName("PROOF_FilesToProcess"); // p->AddInput(filesmap); // TFileCollection *coll = p->GetDataSet("myDS"); // TFileCollection *coll = p->GetDataSet("myBigDS"); TFileCollection *coll = p->GetDataSet("/PWG2/mvala/LHC11a_000146805_p4_with_SDD"); TFileCollection *coll = p->GetDataSet("/PWG2/mvala/myDSNew"); if (!coll) return; coll->SetName("PROOF_PEAC_FileCollectionIn"); p->AddInput(coll); // p->SetParameter("PROOF_Packetizer", "TPacketizerFile"); // p->SetParameter("PROOF_ProcessNotAssigned", (Int_t)1); p->SetParameter("PROOF_Packetizer", "TPacketizerUnit"); // p->SetParameter("PROOF_ProcessNotAssigned", (Int_t)1); p->SetParameter("PROOF_UseMergers", "-1"); TStopwatch timer; timer.Start(); p->Process("TPeacVerifierSel", (Long64_t) 57); timer.Stop(); timer.Print(); }
void analyseYield_mc(const char* WHICHHIST, const char* NTUPLEWEIGHT, const char* MOMCORRTYPE, const char* MODE) { // directory with data TString protocol = "file://"; //TString dirname = "/home/asvyatko/DYStudy/CMSSW_5_3_3_patch2/src/DimuonAnalysis/DYPackage/test/ControlPlots_Purdue/"; TString dirname = "/scratch/lustreA/a/asvyatko/DY2013/rootfiles_Purdue/"; // data TFileCollection* c2a = new TFileCollection("DYM20_Purdue","DYM20_Purdue"); c2a->Add(protocol+dirname+"DYM20_Purdue/*9*.root"); //ntuple_skim_1_1_KzL.root"); //ntuple_skim_1_1_E3U.root"); gSystem->Load("Muon_cc.so"); gSystem->Load("Electron_cc.so"); gSystem->Load("Dimuon_cc.so"); gSystem->Load("Dielectron_cc.so"); gEnv->SetValue("ProofLite.Sandbox", "/home/asvyatko/DYStudy/CMSSW_5_3_3_patch2/src/DimuonAnalysis/DYPackage/test/ControlPlots_Purdue/proofbox/"); TProof* p = TProof::Open("workers=1"); p->RegisterDataSet("DYM20_Purdue", c2a,"OV"); p->ShowDataSets(); TObjString* mode = new TObjString(MODE); p->AddInput(new TNamed("mode",MODE)); gROOT->Time(); p->SetParameter("PROOF_LookupOpt", "all"); p->Process("DYM20_Purdue#/recoTree/DiLeptonTree","EventSelector.C+"); }
void analyseYield_p5(const char* WHICHHIST, const char* NTUPLEWEIGHT, const char* MOMCORRTYPE) { // directory with data TString protocol = "file://"; // TString protocol = "root://xrootd.rcac.purdue.edu/"; //from Norbert root://xrootd.rcac.purdue.edu//store/group/ewk/DY/DYM20/ntuple_skim_96_2_z5w.root my.root //TString protocol = "dcap://dcache.rcac.purdue.edu:22125/pnfs/rcac.purdue.edu/data"; TString dirname = "/mnt/hadoop/store/user/asvyatko/DYstudy/dataAnalysis13/rootfiles/"; //TString dirname = "/scratch/scratch95/a/asvyatko/DY2012_testdir/rootfiles/"; //TString dirname = "/store/group/ewk/DY/"; //TString dirname = "/store/group/ewk/DY/"; // QCD TFileCollection* c3a = new TFileCollection("GGmumuElast","GGmumuElast"); c3a->Add(protocol+dirname+"GGmumuElast"+"/*.root"); gEnv->SetValue("ProofLite.Sandbox", "/home/ba01/u115/asvyatko/DYStudy/CMSSW_5_3_3_patch2/src/DimuonAnalysis/DYPackage/ControlPlots/proofbox_p5"); TProof* p = TProof::Open("workers=1"); //"workers=5"); ////proof://pccmspurdue3:-1"); // set number of works to 2: TProof::Open("//lite:///?workers=2"); p->RegisterDataSet("GGmumuElast", c3a,"OV"); p->ShowDataSets(); TObjString* useNtupleWeightFlag = new TObjString(NTUPLEWEIGHT); p->AddInput(new TNamed("useNtupleWeightFlag",NTUPLEWEIGHT)); TObjString* histogramThis = new TObjString(WHICHHIST); p->AddInput(new TNamed("histogramThis",WHICHHIST)); TObjString* momCorrType = new TObjString(MOMCORRTYPE); p->AddInput(new TNamed("momCorrType",MOMCORRTYPE)); gROOT->Time(); p->SetParameter("PROOF_LookupOpt", "all"); p->Process("GGmumuElast#/recoTree/DiMuonTree","EventSelector_CP.C+"); }
void FSRBinByBin(const char* MODE,TString datasetName, char* chunk, TString Alt) { // directory with data TString protocol = "file://"; //TString dirname = "/mnt/hadoop/store/user/asvyatko/DYstudy/dataAnalysis13/rootfiles/"; TString dirnameEE = "/scratch/scratch95/a/asvyatko/DY2013/rootfiles_Purdue/"; TString dirnameMuMu = "/scratch/lustreC/a/asvyatko/DY2013/rootfiles_Purdue/"; TString dirname = dirnameMuMu; if (datasetName.Contains("EE")) dirname = dirnameEE; TString ncores = "30"; //if (!datasetName.Contains("samp") && (chunk.Contains("_") || datasetName.Contains("00"))) ncores = "1"; if (!(datasetName.Contains("1020") || datasetName.Contains("samp"))) ncores = "3"; if (datasetName.Contains("1020")) ncores = "10"; TString beautiful = beautifulDataset(datasetName); TFileCollection* c = loadChunks(chunk[0],protocol,dirname,datasetName,beautiful); gSystem->Load("Muon_cc.so"); gSystem->Load("Electron_cc.so"); gSystem->Load("Dimuon_cc.so"); gSystem->Load("Dielectron_cc.so"); gEnv->SetValue("ProofLite.Sandbox", "/home/asvyatko/DYStudy/CMSSW_5_3_3_patch2/src/Analysis/DYPackage/test/FSRunfold_Purdue/proofbox/"); TProof* p = TProof::Open("workers="+ncores); p->RegisterDataSet(datasetName+chunk, c,"OV"); p->ShowDataSets(); TObjString* mode = new TObjString(MODE); p->AddInput(new TNamed("mode",MODE)); gROOT->Time(); p->SetParameter("PROOF_LookupOpt", "all"); p->Process(datasetName+chunk+"#/recoTree/DiLeptonTree","EventSelector_FSRUnfBBB.C+"); }
void proof(Int_t runNum=-1,Int_t NumCores=10,TString OutPutName="histograms/temp.root") { //////////////////////////////////////////////////////////// // open the root files and put the together into a TChain // //////////////////////////////////////////////////////////// if (runNum != -99){ ch = new TChain("caltree"); std::cout << "Creating TChain... "; if (runNum ==-1){ // if no runNum give make a chain manually ch->Add("./rootfiles/run-0573-??.root"); } else { stringstream ss; ss<<"./rootfiles/run-"<<setfill('0')<<setw(4)<<runNum<<"-??.root"; ch->Add(ss.str().c_str()); if (OutPutName == "histograms/temp.root"){ ss.str(""); ss<<"histograms/HistogramsFromRun"<<runNum<<".root"; OutPutName=ss.str(); } } } std::cout << "Done." << std::endl; /////////////////////////////////////////////////////////////// // look for settings objects in each of the files // // in the chain. Set their names as settings0 1 2... // // for saving in the final histogram file // /////////////////////////////////////////////////////////////// vector <R00TLeSettings *> ListOfSettings; TObjArray *fileElements=ch->GetListOfFiles(); TIter next(fileElements); TChainElement *chEl=0; int FileSuccessCount=0; int count=0; while (( chEl=(TChainElement*)next() )) { TFile f(chEl->GetTitle()); if (f.IsOpen()){ FileSuccessCount++; }else { cout<<"Warning could not open "<<chEl->GetTitle()<<endl; } if ( f.GetListOfKeys()->Contains("TheSettings")) { stringstream ss; ss<<"Settings"<<count; TString newName = ss.str().c_str(); R00TLeSettings *temp = (R00TLeSettings*)f.Get("TheSettings"); temp->SetName(newName); ListOfSettings.push_back(temp); } else { cout<<"No Seetings object found in "<<chEl->GetTitle()<<endl; exit(1); } count++; } if ( FileSuccessCount == 0 ){ cout<<"No files were successfully opened"<<endl; return; } std::cout << "\nList of files:" << std::endl; ch->GetListOfFiles()->Print(); cout<<endl; TString user =gSystem->Getenv("R00TLe_User"); TString install =gSystem->Getenv("R00TLeInstall"); TString src = install+"/users/"+user+"/src/Analoop.cc+g"; TString user =gSystem->Getenv("R00TLe_User"); TString install =gSystem->Getenv("R00TLeInstall"); TString src = install+"/users/"+user+"/src/Analoop.cc+g"; TString soFile=install+"/users/"+user+"/src/Analoop_cc.so"; ///////////////////////////////////////// // compile and load Analoop in to ROOT // ///////////////////////////////////////// gROOT->ProcessLine(".L " +src); //////////////////////////////////////// // Set up the PROOF Sandbox directory // //////////////////////////////////////// TString sandbox = install + "/users/"+user+"/PROOF/"; gEnv->SetValue("ProofLite.SandBox",sandbox); ///////////////// // start PROOF // ///////////////// std::stringstream ss; ss<<NumCores; TString workerString = "workers=" + TString(ss.str().c_str()); TProof * p =TProof::Open(workerString); p->SetParameter("PROOF_UseTreeCache",1); p->SetParameter("PROOF_CacheSize",1024.*1024.); ////////////////////////////////////////////////////// // load the analoop library on each worker thread // ////////////////////////////////////////////////////// TString so_cmd = "gSystem->Load(\"" +soFile+ "\")"; p->Exec(so_cmd); ///////////////////////////////////////////////////////////// // make instance of analoop that will be passed into PROOF // ///////////////////////////////////////////////////////////// TSelector* myAnaloop = TSelector::GetSelector(src); ////////////////////////////////////////////////////////////// // Put the settings object from the first file in the input // // list of the selector // ////////////////////////////////////////////////////////////// TList * list = new TList(); list->Add(ListOfSettings[0]); myAnaloop->SetInputList(list); //////////////////////////////////////////////////////////////// // Magic lines that loop over the tchain and analyzes it with // // the analoop program using PROOF on different worker // // nodes // //////////////////////////////////////////////////////////////// ch->SetProof(kTRUE); ch->SetCacheSize(1024.*1024.); ch->AddBranchToCache("*",kTRUE); ch->Process(myAnaloop,OutPutName);//Deep Magicks //Preform Clean up for PROOF p->CleanupSession(gProof->GetSessionTag()); p->ClearCache(); p->Close(); delete ch; }
void ABCD2vari_p3(const char* ISO) { //Only iso is external, all the regions go in a loop!!! to be fed in the macro at once TString PREFIX = "./"; //Get the fractions //gStyle->SetOptStat(0); TFile* fB = new TFile(PREFIX+"factor_qcd_"+TString(ISO)+"_B.root", "open"); fB->cd(); TH1D* hRatioB = (TH1D*)gDirectory->Get("hfactor"); hRatioB->Fit("pol0"); //2D needs, preliminary TH1D* hRatioB2030 = (TH1D*)gDirectory->Get("hfactor2030"); hRatioB2030->Fit("pol0"); TH1D* hRatioB3045 = (TH1D*)gDirectory->Get("hfactor3045"); hRatioB3045->Fit("pol0"); TH1D* hRatioB4560 = (TH1D*)gDirectory->Get("hfactor4560"); hRatioB4560->Fit("pol0"); TH1D* hRatioB60120 = (TH1D*)gDirectory->Get("hfactor60120"); hRatioB60120->Fit("pol0"); TH1D* hRatioB120200 = (TH1D*)gDirectory->Get("hfactor120200"); hRatioB120200->Fit("pol0"); TH1D* hRatioB2001500 = (TH1D*)gDirectory->Get("hfactor2001500"); hRatioB2001500->Fit("pol0"); TF1 *myfitB = (TF1*)hRatioB->GetFunction("pol0"); Double_t factor_B = myfitB->GetParameter(0); Double_t factor_B_err = myfitB->GetParError(0); //2D needs, preliminary TF1 *myfitB2030 = (TF1*)hRatioB2030->GetFunction("pol0"); Double_t factor_B2030 = myfitB2030->GetParameter(0); Double_t factor_B_err2030 = myfitB2030->GetParError(0); TF1 *myfitB3045 = (TF1*)hRatioB3045->GetFunction("pol0"); Double_t factor_B3045 = myfitB3045->GetParameter(0); Double_t factor_B_err3045 = myfitB3045->GetParError(0); TF1 *myfitB4560 = (TF1*)hRatioB4560->GetFunction("pol0"); Double_t factor_B4560 = myfitB4560->GetParameter(0); Double_t factor_B_err4560 = myfitB4560->GetParError(0); TF1 *myfitB60120 = (TF1*)hRatioB60120->GetFunction("pol0"); Double_t factor_B60120 = myfitB60120->GetParameter(0); Double_t factor_B_err60120 = myfitB60120->GetParError(0); TF1 *myfitB120200 = (TF1*)hRatioB120200->GetFunction("pol0"); Double_t factor_B120200 = myfitB120200->GetParameter(0); Double_t factor_B_err120200 = myfitB120200->GetParError(0); TF1 *myfitB2001500 = (TF1*)hRatioB2001500->GetFunction("pol0"); Double_t factor_B2001500 = myfitB2001500->GetParameter(0); Double_t factor_B_err2001500 = myfitB2001500->GetParError(0); //repeat for region D TFile* fD = new TFile(PREFIX+"factor_qcd_"+TString(ISO)+"_D.root", "open"); fD->cd(); TH1D* hRatioD = (TH1D*)gDirectory->Get("hfactor"); hRatioD->Fit("pol0"); //2D needs, preliminary TH1D* hRatioD2030 = (TH1D*)gDirectory->Get("hfactor2030"); hRatioD2030->Fit("pol0"); TH1D* hRatioD3045 = (TH1D*)gDirectory->Get("hfactor3045"); hRatioD3045->Fit("pol0"); TH1D* hRatioD4560 = (TH1D*)gDirectory->Get("hfactor4560"); hRatioD4560->Fit("pol0"); TH1D* hRatioD60120 = (TH1D*)gDirectory->Get("hfactor60120"); hRatioD60120->Fit("pol0"); TH1D* hRatioD120200 = (TH1D*)gDirectory->Get("hfactor120200"); hRatioD120200->Fit("pol0"); TH1D* hRatioD2001500 = (TH1D*)gDirectory->Get("hfactor2001500"); hRatioD2001500->Fit("pol0"); TF1 *myfitD = (TF1*)hRatioD->GetFunction("pol0"); Double_t factor_D = myfitD->GetParameter(0); Double_t factor_D_err = myfitD->GetParError(0); //2D needs, preliminary TF1 *myfitD2030 = (TF1*)hRatioD2030->GetFunction("pol0"); Double_t factor_D2030 = myfitD2030->GetParameter(0); Double_t factor_D_err2030 = myfitD2030->GetParError(0); TF1 *myfitD3045 = (TF1*)hRatioD3045->GetFunction("pol0"); Double_t factor_D3045 = myfitD3045->GetParameter(0); Double_t factor_D_err3045 = myfitB3045->GetParError(0); TF1 *myfitD4560 = (TF1*)hRatioD4560->GetFunction("pol0"); Double_t factor_D4560 = myfitD4560->GetParameter(0); Double_t factor_D_err4560 = myfitD4560->GetParError(0); TF1 *myfitD60120 = (TF1*)hRatioD60120->GetFunction("pol0"); Double_t factor_D60120 = myfitD60120->GetParameter(0); Double_t factor_D_err60120 = myfitD60120->GetParError(0); TF1 *myfitD120200 = (TF1*)hRatioD120200->GetFunction("pol0"); Double_t factor_D120200 = myfitD120200->GetParameter(0); Double_t factor_D_err120200 = myfitD120200->GetParError(0); TF1 *myfitD2001500 = (TF1*)hRatioD2001500->GetFunction("pol0"); Double_t factor_D2001500 = myfitD2001500->GetParameter(0); Double_t factor_D_err2001500 = myfitD2001500->GetParError(0); // directory with data TString protocol = "file://"; TString dirname = "/scratch/lustreC/a/asvyatko/DY2013/rootfiles/"; // EWK TFileCollection* c6 = new TFileCollection("WJets","WJets"); c6->Add(protocol+dirname+"WJets_PU"+"/*.root"); // diboson TFileCollection* c7a = new TFileCollection("WZJetsTo3LNu","WZJetsTo3LNu"); c7a->Add(protocol+dirname+"WZJetsTo3LNu_PU"+"/*.root"); TFileCollection* c7b = new TFileCollection("WZJetsTo2L2Q","WZJetsTo2L2Q"); c7b->Add(protocol+dirname+"WZJetsTo2L2Q_PU"+"/*.root"); TFileCollection* c7c = new TFileCollection("ZZJetsTo2L2Nu","ZZJetsTo2L2Nu"); c7c->Add(protocol+dirname+"ZZJetsTo2L2Nu_PU"+"/*.root"); TFileCollection* c7d = new TFileCollection("ZZJetsTo4L","ZZJetsTo4L"); c7d->Add(protocol+dirname+"ZZJetsTo4L_PU"+"/*.root"); TFileCollection* c7e = new TFileCollection("ZZJetsTo2L2Q","ZZJetsTo2L2Q"); c7e->Add(protocol+dirname+"ZZJetsTo2L2Q_PU"+"/*.root"); TFileCollection* c7f = new TFileCollection("WWJetsTo2L2Nu","WWJetsTo2L2Nu"); c7f->Add(protocol+dirname+"WWJetsTo2L2Nu_PU"+"/*.root"); //ttbar TFileCollection* c8a = new TFileCollection("tW","tW"); c8a->Add(protocol+dirname+"tW_PU"+"/*.root"); TFileCollection* c8b = new TFileCollection("tbarW","tbarW"); c8b->Add(protocol+dirname+"tbarW_PU"+"/*.root"); TFileCollection* c8c = new TFileCollection("tt1000","ttbar1000"); c8c->Add(protocol+dirname+"tt1000_PU"+"/*.root"); TFileCollection* c8d = new TFileCollection("tt700","ttbar700"); c8d->Add(protocol+dirname+"tt700_PU"+"/*.root"); TFileCollection* c8a = new TFileCollection("tW","tW"); c8a->Add(protocol+dirname+"tW_PU"+"/*.root"); TFileCollection* c8b = new TFileCollection("tbarW","tbarW"); c8b->Add(protocol+dirname+"tbarW_PU"+"/*.root"); TFileCollection* c8c = new TFileCollection("tt1000","ttbar1000"); c8c->Add(protocol+dirname+"tt1000_PU"+"/*.root"); TFileCollection* c8d = new TFileCollection("tt700","ttbar700"); c8d->Add(protocol+dirname+"tt700_PU"+"/*.root"); TFileCollection* c8e = new TFileCollection("ttjets","ttjets"); c8e->Add(protocol+dirname+"ttjets_PU_p1"+"/*.root"); c8e->Add(protocol+dirname+"ttjets_PU_p2"+"/*.root"); gEnv->SetValue("ProofLite.Sandbox", "/home/ba01/u115/asvyatko/DYStudy/CMSSW_5_3_3_patch2/src/DimuonAnalysis/DYPackage/test/ABCDmethod/proofbox_p3"); TProof* p = TProof::Open("workers=10"); //"workers=1"); ////proof://pccmspurdue3:-1"); // set number of works to 2: TProof::Open("//lite:///?workers=2"); p->RegisterDataSet("WJets", c6,"OV"); p->RegisterDataSet("WZJetsTo3LNu", c7a,"OV"); p->RegisterDataSet("WZJetsTo2L2Q", c7b,"OV"); p->RegisterDataSet("ZZJetsTo2L2Nu", c7c,"OV"); p->RegisterDataSet("ZZJetsTo4L", c7d,"OV"); p->RegisterDataSet("ZZJetsTo2L2Q", c7e,"OV"); p->RegisterDataSet("WWJetsTo2L2Nu", c7f,"OV"); p->RegisterDataSet("tW", c8a,"OV"); p->RegisterDataSet("tbarW", c8b,"OV"); p->RegisterDataSet("tt1000", c8c,"OV"); p->RegisterDataSet("tt700", c8d,"OV"); p->RegisterDataSet("ttjets", c8e,"OV"); p->ShowDataSets(); //FIXME try not to ue the class, just define the parameters you need and load them with AdInoput //this is correct TObjString* useNtupleWeightFlag = new TObjString("False"); p->AddInput(new TNamed("useNtupleWeightFlag","False")); TObjString* iso = new TObjString(ISO); p->AddInput(new TNamed("iso",ISO)); gROOT->ProcessLine(".L ../tools/misctools.C"); TObjString* factorB = new TObjString(fota(factor_B)); p->AddInput(new TNamed("factorB",fota(factor_B))); TObjString* factorB_err = new TObjString(fota(factor_B_err)); p->AddInput(new TNamed("factorB_err",fota(factor_B_err))); TObjString* factorB2030 = new TObjString(fota(factor_B2030)); p->AddInput(new TNamed("factorD2030",fota(factor_B2030))); TObjString* factorB_err2030 = new TObjString(fota(factor_B_err2030)); p->AddInput(new TNamed("factorB_err2030",fota(factor_B_err2030))); TObjString* factorB3045 = new TObjString(fota(factor_B3045)); p->AddInput(new TNamed("factorB3045",fota(factor_B3045))); TObjString* factorB_err3045 = new TObjString(fota(factor_B_err3045)); p->AddInput(new TNamed("factorB_err3045",fota(factor_B_err3045))); TObjString* factorB4560 = new TObjString(fota(factor_B4560)); p->AddInput(new TNamed("factorB4560",fota(factor_B4560))); TObjString* factorB_err4560 = new TObjString(fota(factor_B_err4560)); p->AddInput(new TNamed("factorB_err4560",fota(factor_B_err4560))); TObjString* factorB60120 = new TObjString(fota(factor_B60120)); p->AddInput(new TNamed("factorB60120",fota(factor_B60120))); TObjString* factorB_err60120 = new TObjString(fota(factor_B_err60120)); p->AddInput(new TNamed("factorB_err60120",fota(factor_B_err60120))); TObjString* factorB120200 = new TObjString(fota(factor_B120200)); p->AddInput(new TNamed("factorB120200",fota(factor_B120200))); TObjString* factorB_err120200 = new TObjString(fota(factor_B_err120200)); p->AddInput(new TNamed("factorB_err120200",fota(factor_B_err120200))); TObjString* factorB2001500 = new TObjString(fota(factor_B2001500)); p->AddInput(new TNamed("factorB2001500",fota(factor_B2001500))); TObjString* factorB_err2001500 = new TObjString(fota(factor_B_err2001500)); p->AddInput(new TNamed("factorB_err2001500",fota(factor_B_err2001500))); /*TObjString* factorC = new TObjString(fota(factor_C)); p->AddInput(new TNamed("factorC",fota(factor_C))); TObjString* factorC_err = new TObjString(fota(factor_C_err)); p->AddInput(new TNamed("factorC_err",fota(factor_C_err))); */ TObjString* factorD = new TObjString(fota(factor_D)); p->AddInput(new TNamed("factorD",fota(factor_D))); TObjString* factorD_err = new TObjString(fota(factor_D_err)); p->AddInput(new TNamed("factorD_err",fota(factor_D_err))); TObjString* factorD2030 = new TObjString(fota(factor_D2030)); p->AddInput(new TNamed("factorD2030",fota(factor_D2030))); TObjString* factorD_err2030 = new TObjString(fota(factor_D_err2030)); p->AddInput(new TNamed("factorD_err2030",fota(factor_D_err2030))); TObjString* factorD3045 = new TObjString(fota(factor_D3045)); p->AddInput(new TNamed("factorD3045",fota(factor_D3045))); TObjString* factorD_err3045 = new TObjString(fota(factor_D_err3045)); p->AddInput(new TNamed("factorD_err3045",fota(factor_D_err3045))); TObjString* factorD4560 = new TObjString(fota(factor_D4560)); p->AddInput(new TNamed("factorD4560",fota(factor_D4560))); TObjString* factorD_err4560 = new TObjString(fota(factor_D_err4560)); p->AddInput(new TNamed("factorD_err4560",fota(factor_D_err4560))); TObjString* factorD60120 = new TObjString(fota(factor_D60120)); p->AddInput(new TNamed("factorD60120",fota(factor_D60120))); TObjString* factorD_err60120 = new TObjString(fota(factor_D_err60120)); p->AddInput(new TNamed("factorD_err60120",fota(factor_D_err60120))); TObjString* factorD120200 = new TObjString(fota(factor_D120200)); p->AddInput(new TNamed("factorD120200",fota(factor_D120200))); TObjString* factorD_err120200 = new TObjString(fota(factor_D_err120200)); p->AddInput(new TNamed("factorD_err120200",fota(factor_D_err120200))); TObjString* factorD2001500 = new TObjString(fota(factor_D2001500)); p->AddInput(new TNamed("factorD2001500",fota(factor_D2001500))); TObjString* factorD_err2001500 = new TObjString(fota(factor_D_err2001500)); p->AddInput(new TNamed("factorD_err2001500",fota(factor_D_err2001500))); gROOT->Time(); p->SetParameter("PROOF_LookupOpt", "all"); p->Process("WJets#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("WZJetsTo3LNu#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("WZJetsTo2L2Q#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("ZZJetsTo2L2Nu#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("ZZJetsTo4L#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("ZZJetsTo2L2Q#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("WWJetsTo2L2Nu#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("tW#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("tbarW#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("tt1000#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("tt700#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); p->Process("ttjets#/recoTree/DiMuonTree","EventSelector_Bkg2.C+"); }