// Template plot producer for WZ validation plots, called by Sub_SynchroPlots_WZ25.sh //string today = "150910"; void template_yieldsWZ_25ns(std::string var){ gStyle->SetOptStat(0); md.refresh(); //general parameters ********************* general parameters string dir="WZsynchro"; //_Jun16_WZCR_RA7comp"; string fileName="template_WZ25"; string fileList="template_WZ25"; bool mcOnly = false; //observables ********************** md.dp.setObservables(var); md.anConf.configureNames( dir, fileName, fileList ); md.anConf.configureData(false, 0, mcOnly); //Binning & title ************************* Binning & title string yTitle="number of events"; int binning=40; int addBinBkg=1; //BinB = binning*AddBin double rangeY[2]={0, 0}; double rangeX[2]={0., 500.}; int xDiv[3]={8,6,0}; int yDiv[3]={6,6,0}; //Nlabel / sous-Div /ssdiv bool logYScale=false; if (var.find("miniRelIso") != std::string::npos && (var.find("ttbar") != std::string::npos || var.find("ZMuMu") != std::string::npos || var.find("ZEE") != std::string::npos) ) { logYScale = true; } bool overFlowBin=true; bool underFlowBin=false; bool showDMCRatio=false; bool showGrid=false; float markerSize=0.8; float lineWidth=2; bool summedSignal=false; bool stacking=true; bool cmsPrel=true; float xt=0.68; float yt=0.48; float st=0.039; string addText=""; string autoBinFile="WZ50binning"; md.dp.loadAutoBinning(autoBinFile); //Systematic uncertainties ******************************** bool addSystematics=false; bool mcStatSyst=false; string systSources=""; bool uncDet=false; //Lumis( or XSections ) pb-1 & KFactors ************************************ string Norm="DNorm"; float lumi=20.4; //pb-1 19470 float energy=13; //TeV bool useXS=true; map<string,float> LumisXS; map<string,float> KFactors; md.anConf.loadXSDB("XSectionsSpring15.db"); //md.anConf.loadKFDB("kFactorsSpring15.db"); md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); //=============================================================== md.anConf.addSample( "TBar_tWch" , "Single top" , kGray+2); md.anConf.addSample( "T_tWch" , "Single top" , kGray+2); md.anConf.addSample( "TToLeptons_tch" , "Single top" , kGray+2); md.anConf.addSample( "TToLeptons_sch" , "Single top" , kGray+2); md.anConf.addSample( "WJetsToLNu" , "W+jets" , kCyan+2); md.anConf.addSample( "WWTo2L2Nu" , "WW" , kSpring+10); md.anConf.addSample( "WZp8" , "WZ" , kGreen+3); md.anConf.addSample( "ZZp8" , "ZZ" , kViolet-4); md.anConf.addSample( "TTJets_LO" , "t#bar{t}" , kRed ); md.anConf.addSample( "DYJetsToLL_M10to50" , "DY" , kCyan ); md.anConf.addSample( "DYJetsToLL_M50" , "DY" , kCyan ); /* md.anConf.addSample( "TBar_tWch" , "TBar_tWch" , kGray+2); md.anConf.addSample( "T_tWch" , "T_tWch" , kGray+2); md.anConf.addSample( "TToLeptons_tch" , "TToLeptons_tch" , kGray+2); md.anConf.addSample( "TToLeptons_sch" , "TToLeptons_sch" , kGray+2); md.anConf.addSample( "WJetsToLNu" , "WJetsToLNu" , kCyan+2); md.anConf.addSample( "WWTo2L2Nu" , "WWTo2L2Nu" , kSpring+10); md.anConf.addSample( "WZp8" , "WZp8" , kGreen+3); md.anConf.addSample( "ZZp8" , "ZZp8" , kViolet-4); md.anConf.addSample( "TTJets_LO" , "TTJets_LO" , kRed ); md.anConf.addSample( "DYJetsToLL_M10to50" , "DYJetsToLL_M10to50" , kCyan ); md.anConf.addSample( "DYJetsToLL_M50" , "DYJetsToLL_M50" , kCyan ); */ // the order MATTERS!!! md.anConf.addSample( "DoubleEG_Run2015C_v1" , "data", kBlack); md.anConf.addSample( "DoubleMuon_Run2015C_v1" , "data", kBlack); md.anConf.addSample( "MuonEG_Run2015C_v1" , "data", kBlack); md.anConf.addSample( "SingleElectron_Run2015C_v1" , "data", kBlack); md.anConf.addSample( "SingleMuon_Run2015C_v1" , "data", kBlack); // //=============================================================== //*********************************************************************² //Execution macro ****************************************************** //Configuration ================ //plotting ================ md.dp.setLumiAndEnergy( lumi, energy ); md.dp.setNormalization( Norm ); md.dp.configureDisplay(yTitle, rangeY, rangeX, logYScale, xDiv, yDiv, binning, addBinBkg, overFlowBin, underFlowBin, showDMCRatio, showGrid, stacking, addSystematics, mcStatSyst, markerSize, lineWidth,summedSignal, mcOnly,cmsPrel, uncDet); md.prepareDisplay(); md.doPlot(); md.getStatistics("global"); md.savePlot(dir); //gROOT->ProcessLine(".q"); }
void ssdl2015bck(){ md.refresh(); //general parameters ********************* general parameters string dir="SSDL2015"; string fileName="ssdlSync"; string fileList="ssdlSync"; bool mcOnly = false; //if(md.isInitStatus()) { md.anConf.configureNames( dir, fileName, fileList ); md.anConf.configureData(false, 0, mcOnly); //} //observables ********************** md.dp.setObservables("l1Pt"); //Binning & title ************************* Binning & titre string yTitle="number of events"; int binning=8; int addBinBkg=1; //BinB = binning*AddBin double rangeY[2]={0,0}; double rangeX[2]={0,200}; int xDiv[3]={8,6,0}; int yDiv[3]={6,6,0}; //Nlabel / sous-Div /ssdiv bool logYScale=false; bool overFlowBin=true; bool underFlowBin=false; bool showDMCRatio=true; bool showGrid=false; float markerSize=0.8; float lineWidth=2; bool summedSignal=false; bool stacking=true; bool cmsPrel=true; float xt=0.68; float yt=0.48; float st=0.039; string addText=""; //string autoBinFile="susybinninghigh"; //md.dp.loadAutoBinning(autoBinFile); //Systematic uncertainties ******************************** bool addSystematics=true; bool mcStatSyst=true; string systSources=""; bool uncDet=false; string Norm=""; //Lumis( or XSections ) pb-1 & KFactors ************************************ float lumi=1280;//pb-1 19470 float energy=13; //TeV bool useXS=false; md.anConf.loadXSDB("XSectionsSpring15.db"); map<string,float> LumisXS; //via XSect map<string,float> KFactors; // if( md.isInitStatus() ) md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); //control categories ============================== //md.anConf.setControlCategs("Fake"); //=============================================================== //md.anConf.addSample( "TTJets", "TTJets", kBlack); // md.anConf.addSample( "WJetsToLNu" , "W+jetsgen", kRed+1 ); // md.anConf.addSample( "DYJetsToLL_M10to50fake" , "DYgen", kOrange+7); // md.anConf.addSample( "DYJetsToLL_M50fake" , "DYgen", kOrange+7); // md.anConf.addSample( "TTJetsfake" , "t#bar{t}gen", kOrange-3); // md.anConf.addSample( "WJetsToLNu" , "W+jets", kRed+1 ); // md.anConf.addSample( "DYJetsToLL_M10to50fake" , "DY", kOrange+7); // md.anConf.addSample( "DYJetsToLL_M50fake" , "DY", kOrange+7); // md.anConf.addSample( "TTJetsfake" , "t#bar{t}", kOrange-3); // md.anConf.addSample( "Fake:WJetsToLNu" , "W+jets", kRed+1 ); // md.anConf.addSample( "Fake:DYJetsToLL_M10to50" , "DY", kOrange+7); // md.anConf.addSample( "Fake:DYJetsToLL_M50" , "DY", kOrange+7); // md.anConf.addSample( "Fake:TTJets" , "t#bar{t}", kOrange-3); // md.anConf.addSample( "Fake:WJetsToLNu" , "data", kRed+1 ); // md.anConf.addSample( "Fake:DYJetsToLL_M10to50" , "data", kOrange+7); // md.anConf.addSample( "Fake:DYJetsToLL_M50" , "data", kOrange+7); // md.anConf.addSample( "Fake:TTJets" , "data", kOrange-3); md.anConf.addSample( "DYJetsToLL_M10to50charge" , "DY", kOrange+7); md.anConf.addSample( "DYJetsToLL_M50charge" , "DY", kOrange+7); md.anConf.addSample( "TTJetscharge" , "t#bar{t}", kOrange-2); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v4_runs_258159_258714", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v4_runs_258159_258714", "data", kBlack); // md.anConf.addSample( "Fake:MuEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:MuEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:MuEG_Run2015D_v4_runs_258159_258714", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v3_run_256926", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); // md.anConf.addSample( "Fake:DoubleEG_Run2015D_v4_runs_258211_258750", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v3_run_256926", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); // md.anConf.addSample( "Fake:DoubleMuon_Run2015D_v4_runs_258211_258750", "data", kBlack); // md.anConf.addSample( "Fake:MuonEG_Run2015D_v3_run_256926", "data", kBlack); // md.anConf.addSample( "Fake:MuonEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "Fake:MuonEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "Fake:MuonEG_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); // md.anConf.addSample( "Fake:MuonEG_Run2015D_v4_runs_258211_258750", "data", kBlack); md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_run_256926", "data", kBlack); md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack); md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack); md.anConf.addSample( "mId:DoubleEG_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); md.anConf.addSample( "mId:DoubleEG_Run2015D_v4_runs_258211_258750", "data", kBlack); // md.anConf.addSample( "mId:MuonEG_Run2015D_v3_run_256926", "data", kBlack); // md.anConf.addSample( "mId:MuonEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "mId:MuonEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "mId:MuonEG_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); // md.anConf.addSample( "mId:MuonEG_Run2015D_v4_runs_258211_258750", "data", kBlack); // md.anConf.addSample( "mId:DoubleMuon_Run2015D_v3_run_256926", "data", kBlack); // md.anConf.addSample( "mId:DoubleMuon_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "mId:DoubleMuon_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "mId:DoubleMuon_Run2015D_v4_runs_258159_258714_excl", "data", kBlack); // md.anConf.addSample( "mId:DoubleMuon_Run2015D_v4_runs_258211_258750", "data", kBlack); //md.anConf.addSample( "Fake:DYJetsToLL_M50" , "DYf", kOrange+7); // md.anConf.addSample( "TTJets" , "ttprompt", kOrange+7); // md.anConf.addSample( "Fake:TTJets" , "ttFake", kOrange+7); // md.anConf.addSample( "TTJetsfake" , "ttGenFake", kRed+1); // md.anConf.addSample( "Fake:DYJetsToLL_M50" , "DYFake", kOrange+7); // md.anConf.addSample( "DYJetsToLL_M50fake" , "DYGenFake", kRed+1); // md.anConf.addSample( "Fake:DYJetsToLL_M10to50" , "DYLmFake", kOrange+7); // md.anConf.addSample( "DYJetsToLL_M10to50fake" , "DYLmGenFake", kRed+1); //md.anConf.addSample( "WJetsToLNucharge" , "W+jets", kRed+1 ); // md.anConf.addSample( "mId:DYJetsToLL_M10to50" , "DYm", kOrange+7); // md.anConf.addSample( "mId:DYJetsToLL_M50" , "DYm", kOrange+7); // md.anConf.addSample( "mId:TTJets" , "t#bar{t}m", kOrange-3); // md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // md.anConf.addSample( "mId:DoubleEG_Run2015D_v4_runs_258159_258714", "data", kBlack); // md.anConf.addSample( "DYJetsToLL_M50" , "prompt", kOrange+7); //md.anConf.addSample( "DYJetsToLL_M10to50charge" , "DY", kOrange+7); // md.anConf.addSample( "DYJetsToLL_M50charge" , "promptCharge", kOrange+7); //md.anConf.addSample( "DYJetsToLL_M50charge" , "promptCharge", kOrange+7); //md.anConf.addSample( "DYJetsToLL_M50fake" , "promptFake", kOrange+7); //md.anConf.addSample( "TTJetscharge" , "t#bar{t}", kOrange-3); // //DoubleEG_Run2015C_v1_runs_254231_254914.root //md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack); // // md.anConf.addSample( "mId:DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack); // // md.anConf.addSample( "mId:DoubleEG_Run2015D_v4_runs_258159_258714", "data", kBlack); // md.anConf.addSample( "T1ttbbWW_mGo1300_mCh300_mChi290", "T1ttbbWW", kBlack); // md.anConf.addSample( "T5qqqqWW_mGo1500_mCh800_mChi100", "T5qqqqWW", kBlack); // md.anConf.addSample( "T6ttWW_mSbot600_mCh425_mChi50", "T6ttWW64", kBlack); // md.anConf.addSample( "T6ttWW_mSbot650_mCh150_mChi50", "T6ttWW61", kBlack); //md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil", "T5t4Deg", kBlack); //md.anConf.addSample( "TTJets", "t#bar{t}", kWhite); //md.anConf.addSample( "TTJets=80", "fake0", kBlue+1); // manual norm //md.anConf.addSample( "SR1A:TTJets", "fake1", kOrange-3); //both shape and norm from Fake workflow // md.anConf.addSample( "Fake:TTJets=120", "fake2", kBlue+1); //shape from Fake workflow, manual norm // md.anConf.addSample( "data:TTJets", "fake3", kBlue+1); //data driven process // md.anConf.addSample( "data:Fake:TTJets", "fake4", kBlue+1); //data driven process from Fake workflow // md.anConf.addSample( "data:Fake:TTJets=50", "fake5", kBlue+1); //data driven process, Fake workflow, manual norm //=============================================================== //*********************************************************************² //plotting ================ md.dp.setLumiAndEnergy( lumi, energy ); md.dp.setNormalization( Norm ); md.dp.configureDisplay(yTitle, rangeY, rangeX, logYScale, xDiv, yDiv, binning, addBinBkg, overFlowBin, underFlowBin, showDMCRatio, showGrid, stacking, addSystematics, mcStatSyst, markerSize, lineWidth,summedSignal, mcOnly,cmsPrel, uncDet); md.prepareDisplay(); //md.doPlot(); //cout<<" =========================== NOMINAL ============================= "<<endl; md.getStatistics("global"); // cout<<" =========================== GLOBAL ============================= "<<endl; // md.getStatistics("global"); // cout<<" =========================== GLOBALFake ============================= "<<endl; // md.getStatistics("global_Fake"); //md.drawStatistics("global_BR00H", "selected"); //md.savePlot("SUSY3L"); // md.dp.addText(xt,yt,st,addText); }
void template_usingDB() { gStyle->SetOptStat(0); //general parameters ********************* general parameters string dir="WZsynchro"; //string fileName="testAll_BR0"; // not needed for statistics //string fileList="testAll_BR0"; // put command line that gives all files as in a "ls" command //string fileName="fakeEstim_test"; // not needed for statistics //string fileList="fakeEstim_test"; // put command line that gives all files as in a "ls" command //string fileName="q"; // not needed for statistics //string fileList="q"; // put command line that gives all files as in a "ls" command //string fileName="testWZandTT_JonSel"; // not needed for statistics //string fileList="testWZandTT_JonSel"; // put command line that gives all files as in a "ls" command //string fileName="testWZandTT_3lWZ"; // not needed for statistics //string fileList="testWZandTT_3lWZ"; // put command line that gives all files as in a "ls" command //string fileName="testWZandTT"; // not needed for statistics //string fileList="testWZandTT"; // put command line that gives all files as in a "ls" command //string fileName="FE_LEPPTall_LEPFLAVall_LHE1001"; // not needed for statistics //string fileList="FE_LEPPTall_LEPFLAVall_LHE1001"; // put command line that gives all files as in a "ls" command //string fileName="FE_LEPPTall_LEPFLAVall_LHE1001_WZstep0"; // not needed for statistics //string fileList="FE_LEPPTall_LEPFLAVall_LHE1001_WZstep0"; // put command line that gives all files as in a "ls" command //string fileName="WZ3L_WZSTEP3_LEPFLAVall_LHE1001"; // not needed for statistics //string fileList="WZ3L_WZSTEP3_LEPFLAVall_LHE1001"; // put command line that gives all files as in a "ls" command string fileName="WZ3L_WZSTEP5_LEPFLAVall_LHE1001"; // not needed for statistics string fileList="WZ3L_WZSTEP5_LEPFLAVall_LHE1001"; // put command line that gives all files as in a "ls" command bool mcOnly = false; //if(md.isInitStatus()) { md.anConf.configureNames( dir, fileName, fileList); md.anConf.configureData(false, 0, mcOnly); //} //observables ********************** //string obs[6]={"","","","","",""}; md.dp.setObservables("METWZCR"); //md.dp.setObservables("MTminBR0H"); md.dp.setObservables("HTWZCR"); md.dp.setObservables("NBJetsWZCR"); md.dp.setObservables("NJetsWZCR"); //Binning & title ************************* Binning & titre string yTitle="number of events"; int binning=40; int addBinBkg=1; //BinB = binning*AddBin double rangeY[2]={0,0}; double rangeX[2]={0.,500.}; int xDiv[3]={8,6,0}; int yDiv[3]={6,6,0}; //Nlabel / sous-Div /ssdiv bool logYScale=false; bool overFlowBin=true; bool underFlowBin=false; bool showDMCRatio=true; bool showGrid=false; float markerSize=0.8; float lineWidth=2; bool summedSignal=false; bool stacking=true; bool cmsPrel=true; float xt=0.68; float yt=0.48; float st=0.039; string addText=""; string autoBinFile="susybinning"; md.dp.loadAutoBinning(autoBinFile); //Systematic uncertainties ******************************** bool addSystematics=true; bool mcStatSyst=true; string systSources=""; bool uncDet=false; string Norm=""; //Lumis( or XSections ) pb-1 & KFactors ************************************ float lumi=10000; //pb-1 19470 float energy=13; //TeV bool useXS=false; md.anConf.loadXSDB("XSectionsSpring15.db"); map<string,float> LumisXS; map<string,float> KFactors; md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); // SDYJetsM50_HT600toInf_PU_S14_POSTLS170_skimamples ************************** samples //if( md.isInitStatus() ) { // md.anConf.addSample( "WZJetsTo3LNu" , "WZ", kOrange-4); // //md.anConf.addSample( "TTJets" , "t#bar{t}", kBlue+1); // md.anConf.addSample( "SMS_T1tttt_2J_mGl1200_mLSP800", "T1tttt (1.2/0.8) sig * 20", kViolet-3); // // md.anConf.addSample( "WJetsToLNu_HT100to200" , "W+Jets", kAzure-2); // md.anConf.addSample( "WJetsToLNu_HT200to400" , "W+Jets", kAzure-2); // md.anConf.addSample( "WJetsToLNu_HT400to600" , "W+Jets", kAzure-2); // md.anConf.addSample( "WJetsToLNu_HT600toInf" , "W+Jets", kAzure-2); // // //md.anConf.addSample( "DYJetsToLL_M50" , "Z+Jets", kAzure+6); // md.anConf.addSample( "DYJetsToLL_M50_HT100to200" , "Z+Jets", kAzure+6); // md.anConf.addSample( "DYJetsToLL_M50_HT200to400" , "Z+Jets", kAzure+6); // md.anConf.addSample( "DYJetsToLL_M50_HT400to600" , "Z+Jets", kAzure+6); // md.anConf.addSample( "DYJetsToLL_M50_HT600toInf" , "Z+Jets", kAzure+6); // // md.anConf.addSample( "TTJets" , "t#bar{t}", kBlue+1); // // md.anConf.addSample("TToLeptons_sch" , "Single top", kBlue+3); // md.anConf.addSample("TToLeptons_tch" , "Single top", kBlue+3); // md.anConf.addSample("T_tWch" , "Single top", kBlue+3); // md.anConf.addSample("TBarToLeptons_sch" , "Single top", kBlue+3); // md.anConf.addSample("TBarToLeptons_tch" , "Single top", kBlue+3); // md.anConf.addSample("TBar_tWch" , "Single top", kBlue+3); // // md.anConf.addSample( "TTWJets" , "rare", kOrange-2); // md.anConf.addSample( "TTZJets" , "rare", kOrange-2); // //md.anConf.addSample( "WZJetsTo3LNu" , "rare", kOrange-2); // md.anConf.addSample( "ZZTo4L" , "rare", kOrange-2); // md.anConf.addSample( "TTH" , "rare", kOrange-2); // /* // md.anConf.addSample( "SMS_T1tttt_2J_mGl1200_mLSP800", "T1tttt (1.2/0.8) sig * 20", kViolet-3); // //md.anConf.addSample( "SMS_T1tttt_2J_mGl1500_mLSP100", "T1tttt (1.5/0.1) sig * 20", kViolet-3); // //md.anConf.addSample( "T1ttbbWW_mGo1300_mCh300_mChi290" , "T1ttbbWW (1.3/0.3) sig * 20", kBlue); // md.anConf.addSample( "T1ttbbWW_mGo1000_mCh725_mChi720" , "T1ttbbWW (1.0/0.7) sig * 20", kBlue); // md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mChi280" , "T5tttt deg. (1.0/0.3, 4bd) sig * 20", kGreen+2); // //md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280" , "T5tttt deg. (1.0/0.3, Chi) sig * 20", kGreen+2); // //md.anConf.addSample( "T6ttWW_mSbot650_mCh150_mChi50" , "T6ttWW (650/150/50) sig * 20", kRed+1); // md.anConf.addSample( "T6ttWW_mSbot600_mCh425_mChi50" , "T6ttWW (600/425/50) sig * 20", kRed+1); // md.anConf.addSample( "T5qqqqWW_mGo1200_mCh1000_mChi800_dilep" , "T5qqqqWW (1.2/0.8) sig * 20", kOrange+6); // */ // // // md.anConf.addSample( "TTWJets_aMCatNLO" , "TTWaMCatNLO", kBlue+3); // md.anConf.addSample( "TTZJets_aMCatNLO" , "TTZaMCatNLO", kBlue+3); // // md.anConf.addSample( "TTWJets" , "TTWmadgraph", kGreen-2); // md.anConf.addSample( "TTZJets" , "TTZmadgraph", kGreen-2); // //Santis version for WZ /* md.anConf.addSample( "DYJetsToLL_M50_HT100to200" , "fakes", kAzure+6); md.anConf.addSample( "DYJetsToLL_M50_HT200to400" , "fakes", kAzure+6); md.anConf.addSample( "DYJetsToLL_M50_HT400to600" , "fakes", kAzure+6); md.anConf.addSample( "DYJetsToLL_M50_HT600toInf" , "fakes", kAzure+6); md.anConf.addSample( "TTJets" , "fakes", kBlue+1); //md.anConf.addSample( "TToLeptons_sch" , "fakes", kBlue+1); //md.anConf.addSample( "TToLeptons_tch" , "fakes", kBlue+1); //md.anConf.addSample( "T_tWch" , "fakes", kBlue+1); //md.anConf.addSample( "TBarToLeptons_sch" , "fakes", kBlue+1); //md.anConf.addSample( "TBarToLeptons_tch" , "fakes", kBlue+1); //md.anConf.addSample( "TBar_tWch" , "fakes", kBlue+1); md.anConf.addSample( "TTWJets" , "t#bar{t}V", kBlue+3 ); md.anConf.addSample( "TTZJets" , "t#bar{t}V", kBlue+3 ); md.anConf.addSample( "TTH" , "t#bar{t}V", kBlue+3 ); // md.anConf.addSample( "ZZTo4L" , "ZZ" , kRed+2 ); md.anConf.addSample( "WZJetsTo3LNu" , "WZ" , kOrange-2); */ //md.anConf.addSample( "TTJets" , "TTJets", kRed+2); //my 'a la Santi' processes for WZ study using available Spring 15 samples //md.anConf.addSample( "DYJetsToLL_M10to50" , "fakes", kAzure+6); // md.anConf.addSample( "DYJetsToLL_M50" , "fakes", kAzure+6); // md.anConf.addSample( "TTJets" , "fakes", kBlue+1); // //md.anConf.addSample( "TToLeptons_sch" , "fakes", kBlue+1); // //md.anConf.addSample( "TToLeptons_tch" , "fakes", kBlue+1); // //md.anConf.addSample( "T_tWch" , "fakes", kBlue+1); // //md.anConf.addSample( "TBar_tWch" , "fakes", kBlue+1); // //md.anConf.addSample( "WJetsToLNu_HT100to200" , "W+Jets", kAzure-2); //md.anConf.addSample( "WJetsToLNu_HT200to400" , "W+Jets", kAzure-2); //md.anConf.addSample( "WJetsToLNu_HT400to600" , "W+Jets", kAzure-2); //md.anConf.addSample( "WJetsToLNu_HT600toInf" , "W+Jets", kAzure-2); /* md.anConf.addSample( "WJetsToLNu" , "W+Jets", kAzure-2); md.anConf.addSample( "DYJetsToLL_M50" , "Z+Jets", kAzure+6); md.anConf.addSample( "TTJets" , "TTJets", kRed+2); */ md.anConf.addSample( "WZp8" , "WZ" , kOrange-2); // // md.anConf.addSample( "TTJets" , "TTJets", kRed+2); // } //=============================================================== //*********************************************************************² //Execution macro ****************************************************** //Configuration ================ //if( md.isInitStatus() ) { //md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); // } //plotting ================ md.dp.setLumiAndEnergy( lumi, energy ); md.dp.setNormalization( Norm ); md.dp.configureDisplay(yTitle, rangeY, rangeX, logYScale, xDiv, yDiv, binning, addBinBkg, overFlowBin, underFlowBin, showDMCRatio, showGrid, stacking, addSystematics, mcStatSyst, markerSize, lineWidth,summedSignal, mcOnly,cmsPrel, uncDet); md.prepareDisplay(); md.doPlot(); //md.makeDataCard(fileList, "global", "SR b-jet multiplicity"); //md.getStatistics("global"); //md.getStatistics("global_WZCR"); //md.getStatistics("global_BR00H"); md.getStatistics("global_WZCR"); md.savePlot("phys14exerc"); // md.dp.addText(xt,yt,st,addText); //gROOT->ProcessLine(".q"); }
void ssdl2015JES(){ md.refresh(); //general parameters ********************* general parameters string dir="SSDL2015"; string fileName="fakeEstim_test"; string fileList="fakeEstim_test"; bool mcOnly = false; //if(md.isInitStatus()) { md.anConf.configureNames( dir, fileName, fileList ); md.anConf.configureData(false, 0, mcOnly); //} //observables ********************** md.dp.setObservables("MET"); //Binning & title ************************* Binning & titre string yTitle="number of events"; int binning=1; int addBinBkg=1; //BinB = binning*AddBin double rangeY[2]={0,0}; double rangeX[2]={0,200}; int xDiv[3]={8,6,0}; int yDiv[3]={6,6,0}; //Nlabel / sous-Div /ssdiv bool logYScale=false; bool overFlowBin=true; bool underFlowBin=false; bool showDMCRatio=true; bool showGrid=false; float markerSize=0.8; float lineWidth=2; bool summedSignal=false; bool stacking=true; bool cmsPrel=true; float xt=0.68; float yt=0.48; float st=0.039; string addText=""; //string autoBinFile="susybinninghigh"; //md.dp.loadAutoBinning(autoBinFile); //Systematic uncertainties ******************************** bool addSystematics=false; bool mcStatSyst=true; string systSources=""; bool uncDet=false; string Norm=""; //Lumis( or XSections ) pb-1 & KFactors ************************************ float lumi=10000; //pb-1 19470 float energy=13; //TeV bool useXS=false; md.anConf.loadXSDB("XSectionsPhys14.db"); map<string,float> LumisXS; //via XSect map<string,float> KFactors; // if( md.isInitStatus() ) md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); //control categories ============================== //md.anConf.setControlCategs("Fake"); //=============================================================== //md.anConf.addSample( "TTJets", "TTJets", kBlack); md.anConf.addSample( "T1ttbbWW_mGo1300_mCh300_mChi290", "T1ttbbWW", kBlack); md.anConf.addSample( "T5qqqqWW_mGo1500_mCh800_mChi100", "T5qqqqWW", kBlack); md.anConf.addSample( "T6ttWW_mSbot600_mCh425_mChi50", "T6ttWW64", kBlack); md.anConf.addSample( "T6ttWW_mSbot650_mCh150_mChi50", "T6ttWW61", kBlack); //md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil", "T5t4Deg", kBlack); //md.anConf.addSample( "TTJets", "t#bar{t}", kWhite); //md.anConf.addSample( "TTJets=80", "fake0", kBlue+1); // manual norm //md.anConf.addSample( "SR1A:TTJets", "fake1", kOrange-3); //both shape and norm from Fake workflow // md.anConf.addSample( "Fake:TTJets=120", "fake2", kBlue+1); //shape from Fake workflow, manual norm // md.anConf.addSample( "data:TTJets", "fake3", kBlue+1); //data driven process // md.anConf.addSample( "data:Fake:TTJets", "fake4", kBlue+1); //data driven process from Fake workflow // md.anConf.addSample( "data:Fake:TTJets=50", "fake5", kBlue+1); //data driven process, Fake workflow, manual norm //=============================================================== //*********************************************************************² //plotting ================ md.dp.setLumiAndEnergy( lumi, energy ); md.dp.setNormalization( Norm ); md.dp.configureDisplay(yTitle, rangeY, rangeX, logYScale, xDiv, yDiv, binning, addBinBkg, overFlowBin, underFlowBin, showDMCRatio, showGrid, stacking, addSystematics, mcStatSyst, markerSize, lineWidth,summedSignal, mcOnly,cmsPrel, uncDet); md.prepareDisplay(); //md.doPlot(); md.getStatistics("nominal"); //md.drawStatistics("global_BR00H", "selected"); //md.savePlot("SUSY3L"); // md.dp.addText(xt,yt,st,addText); }
void susy3l_datacard() { md.refresh(); //general parameters ********************* general parameters string dir="SUSY3L"; string fileName="limits_160126_OnAndOffZ"; // not needed for statistics but provides the normalization string fileList="limits_160126_OnAndOffZ"; // put command line that gives all files as in a "ls" command bool mcOnly = false; md.anConf.configureNames( dir, fileName, fileList ); md.anConf.configureData(false, 0, mcOnly); //Lumis( or XSections ) pb-1 & KFactors ************************************ float lumi=2260; //pb-1 19470 float energy=13; //TeV bool useXS=false; md.anConf.loadXSDB("XSectionsSpring15.db"); map<string,float> LumisXS; md.anConf.loadKFDB("kFactorsSpring15.db"); //via XSect map<string,float> KFactors; md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS ); //=============================================================== string signal = "T1t4_1200"; md.addDataCardSigSample("T1tttt_mGo1200_mChi800", signal); //string signal = "T1t4_1500"; md.addDataCardSigSample("T1tttt_mGo1500_mChi100", signal); //string signal = "T54q_deg"; md.addDataCardSigSample("T5ttttDeg_mGo1000_mStop300_mCh285_mChi280", signal); //string signal = "T6t2W2_600"; md.addDataCardSigSample("T6ttWW_mSbot600_mCh425_mChi50", signal); //string signal = "T6t2W2_650"; md.addDataCardSigSample("T6ttWW_mSbot650_mCh150_mChi50", signal); //string signal = "T54qWZ_315"; md.addDataCardSigSample("T5qqqqWZDeg_mGo1000_mCh315_mChi300_dilep", signal); //string signal = "T54qWZ_325"; md.addDataCardSigSample("T5qqqqWZDeg_mGo1000_mCh325_mChi300_dilep", signal); //string signal = "T54qWZ_800"; md.addDataCardSigSample("T5qqqqWZ_mGo1500_mCh800_mChi100_lep", signal); //string signal = "T54qWZ_1000"; md.addDataCardSigSample("T5qqqqWZ_mGo1200_mCh1000_mChi800_lep", signal); md.addDataCardSample("GGHZZ4L", "rare"); md.addDataCardSample("VHToNonbb", "rare"); md.addDataCardSample("ZZTo4L", "rare"); md.addDataCardSample("WWZ", "rare"); md.addDataCardSample("WZZ","rare"); md.addDataCardSample("ZZZ", "rare"); md.addDataCardSample("TTTT", "rare"); md.addDataCardSample("tZq_ll", "rare"); md.addDataCardSample("WZTo3LNu","WZ"); md.addDataCardSample("TGJets", "XG"); md.addDataCardSample("TTGJets", "XG"); md.addDataCardSample("WGToLNuG", "XG"); md.addDataCardSample("ZGTo2LG", "XG"); md.addDataCardSample("TTZToLLNuNu","ttZH"); md.addDataCardSample("TTHnobb", "ttZH"); md.addDataCardSample("TTLLJets_m1to10", "ttZH"); md.addDataCardSample("TTWToLNu", "ttW"); md.addDataCardSample("TT_pow", "fake"); md.addDataCardSample("DYJetsToLL_M50", "fake"); md.addDataCardSample("DYJetsToLL_M10to50", "fake"); md.addDataCardSample("TbarToLeptons_tch", "fake"); md.addDataCardSample("TBar_tWch", "fake"); md.addDataCardSample("TToLeptons_sch_amcatnlo", "fake"); md.addDataCardSample("TToLeptons_tch", "fake"); md.addDataCardSample("T_tWch", "fake"); md.addDataCardSample("WJetsToLNu", "fake"); //md.addDataCardSample("data","data"); //shape uncertainties string nuis = "rare:WZ:XG:ttZH:ttW:fake:"; nuis += signal; md.addNuisanceParameter("JES",nuis,"shape",""); /*md.addNuisanceParameter("BTAG","ttW:ttZH:WZ:WW:XG:rares:T1ttttBENCH","shape",""); md.addNuisanceParameter("tHTE","ttW:ttZH:WZ:WW:XG:rares:T1ttttBENCH","shape",""); md.addNuisanceParameter("Ewk","fake","shape",""); md.addNuisanceParameter("ttWAcc","ttW","shape",""); md.addNuisanceParameter("ttHZAcc","ttHZ","shape",""); md.addNuisanceParameter("BTAGFS","T1ttttBENCH","shape",""); md.addNuisanceParameter("LepEffFS","T1ttttBENCH","shape",""); md.addNuisanceParameter("ISR","T1ttttBENCH","shape",""); md.addNuisanceParameter("QCDScale","T1ttttBENCH","shape",""); */ //vector<string> cats( string cats[30]={ "OnZSR001","OnZSR002", "OnZSR003", "OnZSR004", "OnZSR005", "OnZSR006", "OnZSR007", "OnZSR008", "OnZSR009", "OnZSR010", "OnZSR011", "OnZSR012", "OnZSR013", "OnZSR014", "OnZSR015", "OffZSR001","OffZSR002", "OffZSR003", "OffZSR004", "OffZSR005", "OffZSR006", "OffZSR007", "OffZSR008", "OffZSR009", "OffZSR010", "OffZSR011", "OffZSR012", "OffZSR013", "OffZSR014", "OffZSR015" }; //vector<string> dss; string dss[7]={"rare","WZ","XG","ttZH","ttW","fake",signal}; //for(int isr=0;isr<66/*cats.size()*/;isr++) { // md.addNuisanceParameter("pdfS"+cats[isr],"T1ttttBENCH","shape",""); //md.addNuisanceParameter("flip"+cats[isr]+"stat","flip","shape",""); //md.addNuisanceParameter("fake"+cats[isr]+"stat","fake","shape",""); //for(size_t id=0;id<7/*dss.size()*/;id++) { // md.addNuisanceParameter(dss[id]+cats[isr]+"stat",dss[id],"shape",""); //} //} /* //Flat uncertanties ================================= //lumi md.addNuisanceParameter("lumi","ttW:ttHZ:WW:XG:rares:T1ttttBENCH","lnN","1.046:1.046:1.046:1.046:1.046:1.046:1.046"); //md.addNuisanceParameter("lumi","ttW:ttHZ:WW:XG:rares:T1ttttBENCH","lnN","1.12:1.12:1.12:1.12:1.12:1.12:1.12"); //experimental uncertainties md.addNuisanceParameter("lEff","ttW:ttHZ:WW:XG:rares:T1ttttBENCH","lnN","1.04:1.04:1.04:1.04:1.04:1.04"); md.addNuisanceParameter("tEff","ttW:ttHZ:WW:XG:rares:T1ttttBENCH","lnN","1.02:1.02:1.02:1.02:1.02:1.02"); //Data-driven methods md.addNuisanceParameter("chMID","flip","lnN","1.30"); md.addNuisanceParameter("fratio","fake","lnN","1.30"); //theoretical uncertainties md.addNuisanceParameter("wzTh","WZ","lnN","1.30"); md.addNuisanceParameter("WWTh","ttW","lnN","1.50"); md.addNuisanceParameter("TGTh","XG","lnN","1.50"); md.addNuisanceParameter("rareTh","rares","lnN","1.50"); md.addNuisanceParameter("ttWPdf","ttW","lnN","1.04"); md.addNuisanceParameter("ttHZPdf","ttHZ","lnN","1.04"); md.addNuisanceParameter("ttWXs","ttW","lnN","1.13"); md.addNuisanceParameter("ttHZXs","ttHZ","lnN","1.11"); md.addNuisanceParameter("fsHLT","T1ttttBENCH","lnN","1.05"); */ md.addNuisanceParameter("fakeUnc","fake","lnN","1.30"); md.addNuisanceParameter("sigUnc",signal,"lnN","1.10"); md.addNuisanceParameter("promptUnc","rare:WZ:XG:ttZH:ttW","lnN","1.20:1.20:1.20:1.20:1.20"); //=============================================================== //*********************************************************************² //Execution macro ****************************************************** //plotting ================ md.dp.setLumiAndEnergy( lumi, energy ); md.prepareDisplay(); int ncategs=30; // vector<string> categs( string categs[30]={"global_OnZSR001","global_OnZSR002","global_OnZSR003","global_OnZSR004", "global_OnZSR005","global_OnZSR006","global_OnZSR007","global_OnZSR008","global_OnZSR009", "global_OnZSR010","global_OnZSR011","global_OnZSR012","global_OnZSR013","global_OnZSR014","global_OnZSR015", "global_OffZSR001","global_OffZSR002","global_OffZSR003","global_OffZSR004", "global_OffZSR005","global_OffZSR006","global_OffZSR007","global_OffZSR008","global_OffZSR009", "global_OffZSR010","global_OffZSR011","global_OffZSR012","global_OffZSR013","global_OffZSR014","global_OffZSR015" }; vector<string> vcategs; for(int i=0;i<30;i++) { vcategs.push_back( categs[i] ); } /* //external uncertainties =================================== //vector<float> AccTTW float AccTTW[66]={ 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.03,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.03,0.08, 0.03,0.08,0.08,0.08,0.03,0.08,0.03,0.08, 0.08,0.08,0.03,0.08,0.03,0.08,0.03,0.08, 0.08,0.08, 0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08, }; //vector<float> AccTTHZ float AccTTHZ[66]={ 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.03,0.08,0.08,0.08, 0.03,0.08,0.03,0.08,0.08,0.08,0.03,0.08, 0.03,0.08,0.08,0.08,0.03,0.08,0.03,0.08, 0.08,0.08,0.03,0.08,0.03,0.08,0.03,0.08, 0.08,0.08, 0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08, }; // vector<float> EWKFake({ // 0.10,0.06,0.10,0.03,0.09,0.10,0.05,0.10, // 0.09,0.11,0.11,0.09,0.09,0.02,0.10,0.10, // 0.20,0.03,0.10,0.05,0.05,0.10,0.10,0.10, // 0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10, // 0.03,0.01,0.10,0.02,0.01,0.10,0.02,0.01, // 0.01,0.01,0.01,0.01,0.02,0.01,0.10,0.10, // 0.01,0.10,0.10,0.10,0.10,0.10,0.10,0.10, // 0.10,0.10, // 0.10,0.01,0.10,0.10,0.10,0.10,0.10,0.10, // }); //vector<float> HLTEff float HLTEff[66]={ 0,0.02,0,0.02,0.02,0.02,0.02,0.02, 0,0.02,0,0.02,0.02,0.02,0.02,0.02, 0,0.02,0,0.02,0.02,0.02,0.02,0.02, 0,0.02,0,0.02,0,0.02,0.02,0.02, 0,0.02,0,0.02,0.02,0.02,0,0.02, 0,0.02,0.02,0.02,0,0.02,0,0.02, 0.02,0.02,0,0.02,0,0.02,0,0.02, 0.02,0.02, 0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02 }; // int nCateg=66; //47 // vector<string> _categs(nCateg,""); //qcd scale for signal TFile* iQCDFile=new TFile("/shome/mmarionn/MPAF/workdir/QCDScales/scaleUncMASS-.root","read"); TH1F* hQCDUp=(TH1F*)iQCDFile->Get("MASS-ScaleUp"); TH1F* hQCDDown=(TH1F*)iQCDFile->Get("MASS-ScaleDown"); */ //for(size_t ic=0;ic<66/*categs.size()*/;ic++) { // for(int isr=0;isr<66/*cats.size()*/;isr++) { // if(categs[ic].substr(7, categs[ic].size()-7)==cats[isr]) // md.addExternalSystUnc("T1ttttBENCH","pdfS"+cats[isr],0.1, -0.1, categs[ic], "selected"); // else //md.addExternalSystUnc("T1ttttBENCH","pdfS"+cats[isr],0., 0., categs[ic], "selected"); //} //md.addExternalSystUnc("T1ttttBENCH","QCDScale",hQCDUp->GetBinContent(ic+1), hQCDDown->GetBinContent(ic+1), categs[ic], "selected"); //md.addExternalSystUnc("fake","frEwk",EWKFake[ic], -1*EWKFake[ic], categs[ic], "selected"); //md.addExternalSystUnc("ttW","ttWAcc",AccTTW[ic], -1*AccTTW[ic], categs[ic], "selected"); //md.addExternalSystUnc("ttHZ","ttHZAcc",AccTTHZ[ic], -1*AccTTHZ[ic], categs[ic], "selected"); //for(size_t id=0;id<7/*dss.size()*/;id++) { // md.addExternalSystUnc(dss[id],"tHTE",HLTEff[ic], -1*HLTEff[ic], categs[ic], "selected"); //} //} for(size_t ic=0;ic<30;ic++) { for(size_t id=0;id<7;id++) { md.addExternalSystUnc(dss[id],"JES",0.05,-0.05,vcategs[ic],"selected"); } } md.makeMultiDataCard(signal, vcategs, "selected", signal); md.getStatistics("global"); gROOT->ProcessLine(".q"); }