예제 #1
0
// 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");
}
예제 #2
0
파일: ssdl2015JES.C 프로젝트: jhoss/MPAF
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);

}
예제 #3
0
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);

}
예제 #4
0
void susy3l_manual() {
    md.refresh();



    //general parameters ********************* general parameters
    string dir="SUSY3L";
    string fileName="template3L_skimmed"; //was treeName in LUNE susy_cut_lowpt
    string fileList="template3L_skimmed"; //CH: since AnaConfig needs a fileName to open, we need to put the data files into a different variable
    string hName="";

    bool mcOnly = false;
  
    //if(md.isInitStatus()) {
    md.anConf.configureNames( dir, fileName, fileList );//, hName );
    md.anConf.configureData(false, 0, mcOnly);
    //}
 
    string obs ="zpeak";    //njets, nbjets, met, ht, lep, zpeak, mt2, pt, mll
    string sigs = "none"; 

    //observables **********************
    //string obs[6]={"","","","","",""};
    //md.dp.setObservables("Zmass");
    //md.dp.setObservables("deltaR_elmu");
    //md.dp.setObservables("BR_NJets");
    //md.dp.setObservables("BR_NBJets");
    //md.dp.setObservables("BR_HT");
    //md.dp.setObservables("BR_MET");
    //md.dp.setObservables("SR_NJets");
    //md.dp.setObservables("SR_NBJets");
    //md.dp.setObservables("SR_HT");
    //md.dp.setObservables("SR_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,7};
    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="";


    if(obs == "njets"){
        md.dp.setObservables("BR_NJets");
        int binning=1;
        double rangeX[2]={0,7};
    }
    if(obs == "nbjets"){
        md.dp.setObservables("BR_NBJets");
        int binning=1;
        double rangeX[2]={0,5};
    }
    if(obs == "met"){
        md.dp.setObservables("BR_MET");
        int binning=50;
        double rangeX[2]={0,500};
    }
    if(obs == "ht"){
        md.dp.setObservables("BR_HT");
        int binning=50;
        double rangeX[2]={0,800};
    }
    if(obs == "lep"){
        md.dp.setObservables("mu_multiplicity");
        md.dp.setObservables("el_multiplicity");
        md.dp.setObservables("tau_multiplicity");
        md.dp.setObservables("lep_multiplicity");
        int binning=1;
        double rangeX[2]={0,7};
        //bool logYScale=true;
    }
    if(obs == "zpeak"){
        md.dp.setObservables("Zmass");
        int binning=3;
        double rangeX[2]={0,200};
    }
    if(obs == "mt2"){
        md.dp.setObservables("MT2");
        int binning=10;
        double rangeX[2]={0,400};
        bool logYScale=true;
    }
    if(obs == "pt"){
        md.dp.setObservables("pt_1st_lepton");
        md.dp.setObservables("pt_2nd_lepton");
        md.dp.setObservables("pt_3rd_lepton");
        int binning=4;
        double rangeX[2]={0,200};
        bool logYScale=false;
    }
    if(obs == "mll"){
        md.dp.setObservables("lowMll");
        int binning=2;
        double rangeX[2]={0,400};
        bool logYScale=true;
    }



    //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=42; //pb-1 19470
    float energy=13; //TeV

    bool useXS=false;

    map<string,float> LumisXS;

    //cross sections   
    
    //Drell-Yan
    //LumisXS[ "DYJetsToLL_M-50_13TeV-madgraph-pythia8"                       ] = 2829164 / (6024             );
    LumisXS[ "DYJetsToLL_M50_HT100to200"                ] = 4054159 / ( 194.3   * 1.27  );
    LumisXS[ "DYJetsToLL_M50_HT200to400"                ] = 4666496 / (  52.24  * 1.27  );
    LumisXS[ "DYJetsToLL_M50_HT400to600"                ] = 4931372 / (   6.546 * 1.27  );
    LumisXS[ "DYJetsToLL_M50_HT600toInf"                ] = 4493574 / (   2.179 * 1.27  );

    //Higgs->ZZ
    LumisXS[ "GGHZZ4L"                                  ] =  204684 / (0.01212192       );  // cross-section: 43.92*2.76E-04
    LumisXS[ "TTH"                                      ] =  199700 / (0.5085           );
    
    //signal
    LumisXS[ "SMS_T1tttt_2J_mGl1200_mLSP800"            ] =  100322 / (0.0856418        * 20  );
    LumisXS[ "SMS_T1tttt_2J_mGl1500_mLSP100"            ] =  105679 / (0.0141903        * 20  );
    LumisXS[ "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280"] =   52499 / (0.3254           * 20  );
    LumisXS[ "T5qqqqWZDeg_mGo1000_mCh315_mChi300_dilep" ] =   19688 / (0.012135670848   * 20  );
    LumisXS[ "T5qqqqWZDeg_mGo1000_mCh325_mChi300_dilep" ] =   19228 / (0.011385976896   * 20  );
    LumisXS[ "T5qqqqWZ_mGo1200_mCh1000_mChi800_dilep"   ] =   24510 / (0.002830290206   * 20  );
    LumisXS[ "T5qqqqWZ_mGo1500_mCh800_mChi100_dilep"    ] =   23300 / (0.000468961034   * 20  );
    LumisXS[ "T5qqqqZZDeg_mGo1000_mCh315_mChi300_dilep" ] =   40268 / (0.004081667072   * 20  );
    LumisXS[ "T5qqqqZZDeg_mGo1000_mCh325_mChi300_dilep" ] =   39202 / (0.003795325632   * 20  );
    LumisXS[ "T5qqqqZZ_mGo1200_mCh1000_mChi800_dilep"   ] =   47130 / (0.000891017287   * 20  );
    LumisXS[ "T5qqqqZZ_mGo1500_mCh800_mChi100_dilep"    ] =   45307 / (0.000147635881   * 20  );
   
    //top 
    LumisXS[ "TBarToLeptons_sch"                        ] =  250000 / (1.34784          );  // 4.16*0.108*3
    LumisXS[ "TBarToLeptons_tch"                        ] = 1999800 / (26.23428         );  // 80.97*0.108*3
    LumisXS[ "TBar_tWch"                                ] =  971800 / (35.6             ); 
    LumisXS[ "TTJets"                                   ] =25446993 / (809.1            );
    LumisXS[ "TToLeptons_sch"                           ] =  500000 / (2.3328           );  // 7.20*0.108*3
    LumisXS[ "TToLeptons_tch"                           ] = 3991000 / (44.0802          );  // 136.05*0.108*3
    LumisXS[ "T_tWch"                                   ] =  986100 / (35.6             );  // 35.6
   
    //TTV 
    LumisXS[ "TTWJets"                                  ] =  246521 / (0.6647           );
    LumisXS[ "TTZJets"                                  ] =  249275 / (0.8565           );
      
    //LumisXS[ "WJetsToLNu_13TeV-madgraph-pythia8-tauola"                    ] = 10017462 / (20508.9        ); 
    LumisXS[ "WJetsToLNu_HT100to200"                    ] = 5262265  / (1817.0   * 1.23 );
    LumisXS[ "WJetsToLNu_HT200to400"                    ] = 4936077  / ( 471.6   * 1.23 );
    LumisXS[ "WJetsToLNu_HT400to600"                    ] = 4640594  / (  55.61  * 1.23 );
    LumisXS[ "WJetsToLNu_HT600toInf"                    ] = 237484   / (  18.81  * 1.23 );

    //Diboson
    LumisXS[ "WZJetsTo3LNu"                             ] =   237484 / (2.29            );
    LumisXS[ "ZZTo4L"                                   ] =  1958600 / (0.3231          );  // cross-section 31.8*(3*0.0336)*(3*0.0336)
    


    //via XSect
  
    map<string,float> KFactors;
    // if( md.isInitStatus() )
    md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

    //===============================================================
    // SDYJetsM50_HT600toInf_PU_S14_POSTLS170_skimamples **************************  samples
    //if( md.isInitStatus() ) {
    
    md.anConf.addSample( "WZJetsTo3LNu"                     ,  "WZ+ZZ"              , kGreen    );
    md.anConf.addSample( "ZZTo4L"                           ,  "WZ+ZZ"              , kGreen    );

    md.anConf.addSample( "TTZJets"                          ,  "t#bar{t}Z"          , kBlue     );

    md.anConf.addSample( "TTWJets"                          ,  "t#bar{t}W"          , kYellow   );

    md.anConf.addSample( "GGHZZ4L"                          ,  "rare SM"            , kCyan     );
    md.anConf.addSample( "TTH"                              ,  "rare SM"             , kCyan      );

  //Drell-Yan
    md.anConf.addSample( "DYJetsToLL_M50_HT100to200"        ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "DYJetsToLL_M50_HT200to400"        ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "DYJetsToLL_M50_HT400to600"        ,  "non-prompt e/#mu"    , kRed      );
   md.anConf.addSample( "DYJetsToLL_M50_HT600toInf"        ,  "non-prompt e/#mu"    , kRed      );

  //t production
    md.anConf.addSample( "TBarToLeptons_sch"                ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "TBarToLeptons_tch"                ,  "non-prompt e/#mu"    , kRed      );
   md.anConf.addSample( "TBar_tWch"                        ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "TTJets"                           ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "TToLeptons_sch"                   ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "TToLeptons_tch"                   ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "T_tWch"                           ,  "non-prompt e/#mu"    , kRed      );

  //W+Jets
    md.anConf.addSample( "WJetsToLNu_HT100to200"            ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "WJetsToLNu_HT200to400"            ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "WJetsToLNu_HT400to600"            ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "WJetsToLNu_HT600toInf"            ,  "non-prompt e/#mu"    , kRed      );

  //signal
    if(sigs=="t"){
    md.anConf.addSample( "SMS_T1tttt_2J_mGl1200_mLSP800"                ,  "T1t412 sig"     , kBlue-3 );
    md.anConf.addSample( "SMS_T1tttt_2J_mGl1500_mLSP100"                ,  "T1t415 sig"     , kBlue-7  );
    md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280"    ,  "T5t410 sig"     , kOrange+10  );
    }
    if(sigs=="q"){
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4WZ315 sig"  , kGreen+2  );
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4WZ325 sig"  , kMagenta  );
    md.anConf.addSample( "T5qqqqWZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4WZ12 sig"   , kRed-6  );
    md.anConf.addSample( "T5qqqqWZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4WZ15 sig"   , kRed+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4ZZ315 sig"  , kGreen+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4ZZ325 sig"  , kMagenta+2  );
    md.anConf.addSample( "T5qqqqZZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4ZZ12 sig"   , kRed-9  );
    md.anConf.addSample( "T5qqqqZZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4ZZ15 sig"   , kRed+1  );
    }





//    md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1000) * 20 sig" , kOrange-3 );
  //md.anConf.addSample( "T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1300) #cdot 20 sig" , kOrange+6 );
    // }
    //===============================================================

    //*********************************************************************²
    //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.doStatisticsPlot();
    md.savePlot("SUSY3L");
    // md.dp.addText(xt,yt,st,addText);
 
}
예제 #5
0
void susy3l_data_25ns() {
    md.refresh();



    //general parameters ********************* general parameters
    string dir="SUSY3L";
    string fileName="susy3l_data_25ns"; //was treeName in LUNE susy_cut_lowpt
    string fileList="susy3l_data_25ns"; //CH: since AnaConfig needs a fileName to open, we need to put the data files into a different variable
    string hName="";

    bool mcOnly = false;
  
    //if(md.isInitStatus()) {
    md.anConf.configureNames( dir, fileName, fileList );//, hName );
    md.anConf.configureData(false, 0, mcOnly);
    //}
 
    string obs = "njets" ;    //njets, nbjets, met, ht, lep, zpeak, zpt, mt, mt2, pt1, pt2, pt3, mll, muonsip, muoniso, muondz, muondxy, muonptrel, muonptratio, elsip, eliso, eldz, eldxy, elptrel, elptratio, 3rdlepflavor
    string sigs = "none"; 
    bool data = true;

    //Binning & title ************************* Binning & titre
    string yTitle="number of events";
    //int binning=1;
    int addBinBkg=1; //BinB = binning*AddBin
    double rangeY[2]={0,0};
    bool logYScale=true;
    //double rangeX[2]={0,7};
    int xDiv[3]={8,6,0};
    int yDiv[3]={6,6,0}; //Nlabel /  sous-Div /ssdiv
    bool logYScale=true;
    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="";

    if(obs == "njets"){
        md.dp.setObservables("NJets");
        int binning=1;
        double rangeX[2]={0,7};
        //bool logYScale=true;
    }
    if(obs == "nbjets"){
        md.dp.setObservables("NBJets");
        int binning=1;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "met"){
        md.dp.setObservables("MET");
        int binning=50;
        double rangeX[2]={0,500};
        //bool logYScale=true;
    }
    if(obs == "ht"){
        md.dp.setObservables("HT");
        int binning=60;
        double rangeX[2]={0,1000};
        //bool logYScale=true;
    }
    if(obs == "njets_wzcr"){
        md.dp.setObservables("NJetsWZCR");
        int binning=1;
        double rangeX[2]={0,7};
        //bool logYScale=true;
    }
    if(obs == "nbjets_wzcr"){
        md.dp.setObservables("NBJetsWZCR");
        int binning=1;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "met_wzcr"){
        md.dp.setObservables("METWZCR");
        int binning=50;
        double rangeX[2]={0,500};
        //bool logYScale=true;
    }
    if(obs == "wzcr_ht"){
        md.dp.setObservables("HTWZCR");
        int binning=0;
        double rangeX[2]={0,1000};
        //bool logYScale=true;
    }
    if(obs == "lep"){
        //md.dp.setObservables("mu_multiplicity");
        //md.dp.setObservables("el_multiplicity");
        //md.dp.setObservables("tau_multiplicity");
        md.dp.setObservables("lep_multiplicity");
        int binning=1;
        double rangeX[2]={0,6};
        //bool logYScale=true;
    }
    if(obs == "zpeak"){
        md.dp.setObservables("Zmass");
        int binning=2;
        double rangeX[2]={60,120};
        bool logYScale=false;
    }
    if(obs == "zpt"){
        md.dp.setObservables("Zpt");
        int binning=10;
        double rangeX[2]={0,200};
    }
    if(obs == "mt2"){
        md.dp.setObservables("MT2");
        int binning=25;
        double rangeX[2]={0,200};
        //bool logYScale=true;
    }
    if(obs == "mt"){
        md.dp.setObservables("MT");
        int binning=25;
        double rangeX[2]={0,200};
        //bool logYScale=true;
    }
    if(obs == "3rdlepflavor"){
        md.dp.setObservables("3rd_lepton_flavor");
        int binning=1;
        double rangeX[2]={-20,20};
        //bool logYScale=true;
    }
    if(obs == "pt1"){
        md.dp.setObservables("pt_1st_lepton");
        int binning=10;
        double rangeX[2]={0,200};
        //bool logYScale=true;
    }
    if(obs == "pt2"){
        md.dp.setObservables("pt_2nd_lepton");
        int binning=10;
        double rangeX[2]={0,150};
        //bool logYScale=true;
    }   
    if(obs == "pt3"){
        md.dp.setObservables("pt_3rd_lepton");
        int binning=10;
        double rangeX[2]={0,100};
        //bool logYScale=true;
    }
    if(obs == "mll"){
        md.dp.setObservables("lowMll");
        int binning=10;
        double rangeX[2]={0,400};
        //bool logYScale=true;
    }
    if(obs == "muonsip"){
        md.dp.setObservables("muon_SIP3d");
        int binning=0;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "muoniso"){
        md.dp.setObservables("muon_miniRelIso");
        int binning=0;
        double rangeX[2]={0,0.4};
        //bool logYScale=true;
    }
    if(obs == "muondz"){
        md.dp.setObservables("muon_dz");
        int binning=0;
        double rangeX[2]={0,600};
        //bool logYScale=true;
    }
    if(obs == "muondxy"){
        md.dp.setObservables("muon_dxy");
        int binning=0;
        double rangeX[2]={0,100};
        //bool logYScale=true;
    }
    if(obs == "muonptrel"){
        md.dp.setObservables("muon_JetPtRel");
        int binning=0;
        double rangeX[2]={0,100};
        //bool logYScale=true;
    }
    if(obs == "muonptratio"){
        md.dp.setObservables("muon_JetPtRatio");
        int binning=0;
        double rangeX[2]={0,1.3};
        //bool logYScale=true;
    }
    if(obs == "elsip"){
        md.dp.setObservables("el_SIP3d");
        int binning=0;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "eliso"){
        md.dp.setObservables("el_miniRelIso");
        int binning=0;
        double rangeX[2]={0,0.4};
        //bool logYScale=true;
    }
    if(obs == "eldz"){
        md.dp.setObservables("el_dz");
        int binning=0;
        double rangeX[2]={0,600};
        //bool logYScale=true;
    }
    if(obs == "eldxy"){
        md.dp.setObservables("el_dxy");
        int binning=0;
        double rangeX[2]={0,100};
        //bool logYScale=true;
    }
    if(obs == "elptrel"){
        md.dp.setObservables("el_JetPtRel");
        int binning=0;
        double rangeX[2]={0,40};
        //bool logYScale=true;
    }
    if(obs == "elptratio"){
        md.dp.setObservables("el_JetPtRatio");
        int binning=0;
        double rangeX[2]={0,1.3};
        //bool logYScale=true;
    }




    //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=133.14; //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;
    // if( md.isInitStatus() )
    md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

    
    
    
    //===============================================================
    // SDYJetsM50_HT600toInf_PU_S14_POSTLS170_skimamples **************************  samples
    //if( md.isInitStatus() ) {
 
    md.anConf.addSample( "TTWToLNu"                             ,  "t#bar{t}W"          , kYellow   );
    md.anConf.addSample( "TTZToLLNuNu"                          ,  "t#bar{t}Z"          , kBlue     );
   
    md.anConf.addSample( "WZTo3LNu"                             ,  "WZ"              , kGreen    );
    md.anConf.addSample( "ZZTo4L"                               ,  "ZZ"              , kGreen+3  );

    md.anConf.addSample( "GGHZZ4L"                              ,  "rare SM"            , kCyan     );
    md.anConf.addSample( "TTHnobb"                              ,  "rare SM"             , kCyan      );

  //t production
    //md.anConf.addSample( "TBarToLeptons_sch"                ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "TbarToLeptons_tch"                ,  "single t"    , kRed+3      );
    md.anConf.addSample( "TBar_tWch"                        ,  "single t"    , kRed+3      );
    md.anConf.addSample( "T_tWch"                           ,  "single t"    , kRed+3      );
    md.anConf.addSample( "TTJets"                           ,  "TT"    , kRed+2      );
    md.anConf.addSample( "TToLeptons_sch_amcatnlo"          ,  "TT"    , kRed+2      );
    md.anConf.addSample( "TToLeptons_tch"                   ,  "TT"    , kRed+2      );
    md.anConf.addSample( "TTGJets"                          ,  "TT"    , kRed+2      );

  //W+Jets
    md.anConf.addSample( "WJetsToLNu"            ,  "WJets"    , kRed-6      );
    //md.anConf.addSample( "WJetsToLNu_HT200to400"            ,  "non-prompt e/#mu"    , kRed      );
    //md.anConf.addSample( "WJetsToLNu_HT400to600"            ,  "non-prompt e/#mu"    , kRed      );
    //md.anConf.addSample( "WJetsToLNu_HT600toInf"            ,  "non-prompt e/#mu"    , kRed      );

  //Drell-Yan
    //md.anConf.addSample( "DYJetsToLL_LO_M50_50ns"        ,  "non-prompt e/#mu"    , kRed      );
    md.anConf.addSample( "DYJetsToLL_M10to50"          ,  "DY"    , kRed     );
    md.anConf.addSample( "DYJetsToLL_M50"              ,  "DY"    , kRed     );
    //md.anConf.addSample( "DYJetsToLL_M50_HT200to400"        ,  "non-prompt e/#mu"    , kRed      );
    //md.anConf.addSample( "DYJetsToLL_M50_HT400to600"        ,  "non-prompt e/#mu"    , kRed      );
    //md.anConf.addSample( "DYJetsToLL_M50_HT600toInf"        ,  "non-prompt e/#mu"    , kRed      );


  //signal
    if(sigs=="t"){
    md.anConf.addSample( "T1tttt_mGo1200_mChi800"                       ,  "T1t412 sig"     , kBlue-3 );
    md.anConf.addSample( "T1tttt_mGo1500_mChi100"                       ,  "T1t415 sig"     , kBlue-7  );
    md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280"    ,  "T5t410 sig"     , kOrange+10  );
    }
    if(sigs=="q"){
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4WZ315 sig"  , kGreen+2  );
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4WZ325 sig"  , kMagenta  );
    md.anConf.addSample( "T5qqqqWZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4WZ12 sig"   , kRed-6  );
    md.anConf.addSample( "T5qqqqWZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4WZ15 sig"   , kRed+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4ZZ315 sig"  , kGreen+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4ZZ325 sig"  , kMagenta+2  );
    md.anConf.addSample( "T5qqqqZZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4ZZ12 sig"   , kRed-9  );
    md.anConf.addSample( "T5qqqqZZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4ZZ15 sig"   , kRed+1  );
    }
    
  //data
    if(data){
    md.anConf.addSample( "DoubleEG_Run2015D_v3_runs_256630_257599"          , "data"          , kBlack    );
    md.anConf.addSample( "DoubleMuon_Run2015D_v3_runs_256630_257599"        , "data"          , kBlack    );
    md.anConf.addSample( "MuonEG_Run2015D_v3_runs_256630_257599"            , "data"          , kBlack    );
    md.anConf.addSample( "SingleElectron_Run2015D_v3_runs_256630_257599"    , "data"          , kBlack    );
    md.anConf.addSample( "SingleMuon_Run2015D_v3_runs_256630_257599"        , "data"          , kBlack    );
    //md.anConf.addSample( "DoubleEG_Run2015D_v3_run_256926"                  , "data"          , kBlack    );
    //md.anConf.addSample( "DoubleMuon_Run2015D_v3_run_256926"                , "data"          , kBlack    );
    //md.anConf.addSample( "MuonEG_Run2015D_v3_run_256926"                    , "data"          , kBlack    );
    //md.anConf.addSample( "SingleElectron_Run2015D_v3_run_256926"            , "data"          , kBlack    );
    //md.anConf.addSample( "SingleMuon_Run2015D_v3_run_256926"                , "data"          , kBlack    );
    }


//    md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1000) * 20 sig" , kOrange-3 );
  //md.anConf.addSample( "T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1300) #cdot 20 sig" , kOrange+6 );
    // }
    //===============================================================

    //*********************************************************************²
    //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.doStatisticsPlot();
    md.savePlot("SUSY3L");
    // md.dp.addText(xt,yt,st,addText);
 
}
예제 #6
0
void ssdl2015card_test() {
  md.refresh();


  //general parameters ********************* general parameters
  string dir="SSDL2015";
  string fileName="ssdl2fb_oct"; // not needed for statistics but provides the normalization
  string fileList="ssdl2fb_oct"; // 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=1; //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;
  

  md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

  //===============================================================

  md.addDataCardSigSample("HHSR1:_standard_prompt_ttW","ttW");
  
  md.addDataCardSample("HHSR1:_standard_prompt_ttZH","rares");
  md.addDataCardSample("HHSR1:_standard_prompt_Rares","rares");
  md.addDataCardSample("HHSR1:_standard_prompt_WW", "WW");
  md.addDataCardSample("HHSR1:_standard_prompt_WZ", "WZ");
  md.addDataCardSample("HHSR1:_standard_prompt_TG", "TG");
  md.addDataCardSample("HHSR1:_standard_prompt_VG", "VG");
  md.addDataCardSample("HHSR1:_flipsappl_data", "flip");
  md.addDataCardSample("HHSR1:_fakesappl_data", "fake");


  md.addDataCardSample("HHSR1:_standard_prompt_ttZH","pseudodata");
  md.addDataCardSample("HHSR1:_standard_prompt_Rares","pseudodata");
  md.addDataCardSample("HHSR1:_standard_prompt_WW", "pseudodata");
  md.addDataCardSample("HHSR1:_standard_prompt_WZ", "pseudodata");
  md.addDataCardSample("HHSR1:_standard_prompt_TG", "pseudodata");
  md.addDataCardSample("HHSR1:_standard_prompt_VG", "pseudodata");
  md.addDataCardSample("HHSR1:_flipsappl_data", "pseudodata");
  md.addDataCardSample("HHSR1:_fakesappl_data", "pseudodata");

  //experimental uncertainties
  md.addNuisanceParameter("jes","ttW:rares","lnN","1.08:1.07");

  //Data-driven methods
  md.addNuisanceParameter("chMID","flip","lnN","1.30");
  md.addNuisanceParameter("fratio","fake","lnN","1.35");

  //syst from stat uncertainties == automatic
  //md.addNuisanceParameter("wzstat","wz","lnN",""); //--> already given by the 8/15% on Xsect
  // md.addNuisanceParameter("tthstat","tth","lnN","");
  // md.addNuisanceParameter("ttwstat","ttw","lnN","");
  // md.addNuisanceParameter("ttzstat","ttz","lnN","");
  // md.addNuisanceParameter("fakestat","fake","lnN","");
  // md.addNuisanceParameter("chMIdstat","chMId","lnN","");
  // md.addNuisanceParameter("SIGTAGstat","SIGTAG","lnN","");

  
  // string srs[66]={ 
  //   "SR1A", "SR2A", "SR3A", "SR4A", "SR5A", "SR6A", "SR7A", "SR8A",
  //   "SR9A", "SR10A", "SR11A", "SR12A", "SR13A", "SR14A", "SR15A", "SR16A",
  //   "SR17A", "SR18A", "SR19A", "SR20A", "SR21A", "SR22A", "SR23A", "SR24A",
  //   "SR25A", "SR26A", "SR27A", "SR28A", "SR29A", "SR30A", "SR31A", "SR32A",
    
  //   "SR1B", "SR2B", "SR3B", "SR4B", "SR5B", "SR6B", "SR7B", "SR8B",
  //   "SR9B", "SR10B", "SR11B", "SR12B", "SR13B", "SR14B", "SR15B", "SR16B",
  //   "SR17B", "SR18B", "SR19B", "SR20B", "SR21B", "SR22B", "SR23B", "SR24B",
  //   "SR25B","SR26B",
    
  //   "SR1C", "SR2C", "SR3C", "SR4C", "SR5C", "SR6C", "SR7C", "SR8C"
  // };



  // for(int isr=0;isr<66;isr++) {
  //   if(srs[isr]=="CATTAG") {
  //     md.addNuisanceParameter("tth"+srs[isr]+"stat","tth","lnN","");
  //     md.addNuisanceParameter("ttw"+srs[isr]+"stat","ttw","lnN","");
  //     md.addNuisanceParameter("ttz"+srs[isr]+"stat","ttz","lnN","");
  //     md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","");
  //     md.addNuisanceParameter("chMId"+srs[isr]+"stat","chMId","lnN","");
  //     md.addNuisanceParameter("SIGTAG"+srs[isr]+"stat","SIGTAG","lnN","");
  //   }
  //   else {
  //     md.addNuisanceParameter("tth"+srs[isr]+"stat","tth","lnN","-");
  //     md.addNuisanceParameter("ttw"+srs[isr]+"stat","ttw","lnN","-");
  //     md.addNuisanceParameter("ttz"+srs[isr]+"stat","ttz","lnN","-");
  //     md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","-");
  //     md.addNuisanceParameter("chMId"+srs[isr]+"stat","chMId","lnN","-");
  //     md.addNuisanceParameter("SIGTAG"+srs[isr]+"stat","SIGTAG","lnN","-");
  //   }
  // }//signal regions  


  // md.addNuisanceParameter("SIGTAGStat","SIGTAG","lnN","");
  // md.addNuisanceParameter("ttwStat","ttw","lnN","");
  // md.addNuisanceParameter("ttzStat","ttz","lnN","");
  // md.addNuisanceParameter("wzStat","wz","lnN","");

  //md.addNuisanceParameter("sigNorm","T1t415","lnN","1.10");


  // }
  //===============================================================

  //*********************************************************************²
  //Execution macro ******************************************************
  
  //plotting ================
  md.dp.setLumiAndEnergy( lumi, energy );
   
  md.prepareDisplay();
  
 //  int nCateg=66; //47
 //  vector<string> _categs(nCateg,"");
 
 // string srs[66]={ 

 //    "SR1A", "SR2A", "SR3A", "SR4A", "SR5A", "SR6A", "SR7A", "SR8A",
 //    "SR9A", "SR10A", "SR11A", "SR12A", "SR13A", "SR14A", "SR15A", "SR16A",
 //    "SR17A", "SR18A", "SR19A", "SR20A", "SR21A", "SR22A", "SR23A", "SR24A",
 //    "SR25A", "SR26A", "SR27A", "SR28A", "SR29A", "SR30A", "SR31A", "SR32A",
    
 //    "SR1B", "SR2B", "SR3B", "SR4B", "SR5B", "SR6B", "SR7B", "SR8B",
 //    "SR9B", "SR10B", "SR11B", "SR12B", "SR13B", "SR14B", "SR15B", "SR16B",
 //    "SR17B", "SR18B", "SR19B", "SR20B", "SR21B", "SR22B", "SR23B", "SR24B",
 //    "SR25B","SR26B",
    
 //    "SR1C", "SR2C", "SR3C", "SR4C", "SR5C", "SR6C", "SR7C", "SR8C"
 // }

  // _categs.assign(srs, srs+nCateg);
  // for(size_t ic=0;ic< _categs.size();ic++) {
  //   string cat=_categs[ic];
    md.makeSingleDataCard("ttW", "global_HHSR1", "selected", "ssdl2015_ttW");
  // }

  gROOT->ProcessLine(".q");

}
예제 #7
0
void susy3l_datacard() {
    md.refresh();


    //general parameters ********************* general parameters
    string dir="SUSY3L";
    string fileName="susy3l_SR00_off"; // not needed for statistics but provides the normalization
    string fileList="susy3l_SR00_off"; // 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=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;
  

    md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

    //===============================================================

    //top    
    md.addDataCardBkgSample("TBarToLeptons_sch", "fake");
    md.addDataCardBkgSample("TBarToLeptons_tch", "fake");
    md.addDataCardBkgSample("TBar_tWch", "fake");
    md.addDataCardBkgSample("TTJets", "fake");
    md.addDataCardBkgSample("TToLeptons_sch", "fake");
    md.addDataCardBkgSample("TToLeptons_tch", "fake");
    md.addDataCardBkgSample("T_tWch", "fake");
    

    //W+Jets
    md.addDataCardBkgSample("WJetsToLNu_HT100to200", "fake");
    md.addDataCardBkgSample("WJetsToLNu_HT200to400", "fake");
    //md.addDataCardBkgSample("WJetsToLNu_HT400to600", "fake");
    md.addDataCardBkgSample("WJetsToLNu_HT600toInf", "fake");

    //Drell-Yan
    md.addDataCardBkgSample("DYJetsToLL_M50_HT100to200", "fake");
    md.addDataCardBkgSample("DYJetsToLL_M50_HT200to400", "fake");
    md.addDataCardBkgSample("DYJetsToLL_M50_HT400to600", "fake");
    md.addDataCardBkgSample("DYJetsToLL_M50_HT600toInf", "fake");

    //di-boson
    md.addDataCardBkgSample("WZJetsTo3LNu", "diboson");
    md.addDataCardBkgSample("ZZTo4L", "diboson");
    
    //TTV
    md.addDataCardBkgSample("TTZJets", "ttZ");
    md.addDataCardBkgSample("TTWJets", "ttW");

    //rare
    md.addDataCardBkgSample("TTH", "rare");
    //md.addDataCardBkgSample("GGHZZ4L", "rare");

    //signal
    md.addDataCardSigSample("SMS_T1tttt_2J_mGl1200_mLSP800","T1t412");
    //md.addDataCardSigSample("SMS_T1tttt_2J_mGl1500_mLSP100","T1t415");
    //md.addDataCardSigSample("T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil","T5t410dil");
    //md.addDataCardSigSample("T5ttttDeg_mGo1000_mStop300_mCh285_mChi280","T5t410");
    //md.addDataCardSigSample("T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep", "T5q410");
    //md.addDataCardSigSample("T5qqqqWW_mGo1200_mCh1000_mChi800_dilep", "T5q412");
  
   
    md.addNuisanceParameter("fratio","fake","lnN","1.50");
    md.addNuisanceParameter("rNorm","rare","lnN","1.20");
    md.addNuisanceParameter("sigNorm","T1t412","lnN","1.10");


    // }
    //===============================================================

    //*********************************************************************²
    //Execution macro ******************************************************
  
    //plotting ================
    md.dp.setLumiAndEnergy( lumi, energy );
    md.prepareDisplay();
  
    int nCateg=1; 
    vector<string> _categs(nCateg,"");
 
    // string srs[66]={
    // "SR1AL", "SR2AL", "SR3AL", "SR4AL", "SR1AH", "SR2AH", "SR3AH", "SR4AH", "SR5A", "SR6A",
    // "SR7AL", "SR8AL", "SR9AL", "SR10AL", "SR7AH", "SR8AH", "SR9AH", "SR10AH", "SR11A", "SR12A",
    // "SR13AL", "SR14AL", "SR15AL", "SR16AL", "SR13AH", "SR14AH", "SR15AH", "SR16AH", "SR17A", "SR18A",
    //"SR19AL", "SR19AH", "SR20A",
    // "SR1BL", "SR1BH", "SR2BL", "SR2BH",
    // "SR3BL", "SR3BH", "SR4BL", "SR4BH",
    // "SR5BL", "SR5BH", "SR6BL", "SR6BH",
    // "SR7BL", "SR7BH", 
    // };

    //string srs[28]={ 
    //    "SR1A", "SR2A", "SR3A", "SR4A", "SR5A", "SR6A", 
    //    "SR7A", "SR8A", "SR9A", "SR10A",  "SR11A", "SR12A",
    //    "SR13A", "SR14A", "SR15A", "SR16A", "SR17A", "SR18A", 
    //    "SR19A", "SR20A",
    //    "SR1B", "SR2B", 
    //    "SR3B", "SR4B",
    //    "SR5B", "SR6B",
    //    "SR7B", "SR8B" };

    string srs[1]={ 
        "SR00_off" };


    _categs.assign(srs, srs+nCateg);

    for(size_t ic=0;ic< _categs.size();ic++) {
        string cat=_categs[ic];
        md.makeSingleDataCard("T1t412", "global_"+cat, "SR MET selection", "susy3l_"+cat+"_T1t412");
    }

    gROOT->ProcessLine(".q");

}
예제 #8
0
void ssdl2015BTag(){
  md.refresh();

  //general parameters ********************* general parameters
  string dir="SSDL2015";
  string fileName="ssdl2fb_oct";
  string fileList="ssdl2fb_oct";
  
  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=true;
  
  bool mcStatSyst=false;
  string systSources="";

  bool uncDet=true;

  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( "_sig_T1t_1200_800", "T14t12",  kOrange-2); 
  md.anConf.addSample( "_sig_T1t_1500_100","T14t15",  kOrange-2);
  md.anConf.addSample( "_sig_T5Deg","T54qDeg",  kOrange-2); 
  md.anConf.addSample( "_sig_T5q","T54q12",  kOrange-2); 
  md.anConf.addSample( "_sig_T5t", "T54q12",  kOrange-2); 
  md.anConf.addSample( "_sig_T6_600_425","T6ttWW60",  kOrange-2); 
  md.anConf.addSample( "_sig_T6_650_150","T6ttWW65",  kOrange-2); 
  md.anConf.addSample( "_standard_prompt_Rares","rare",  kOrange-2); 
  md.anConf.addSample( "_standard_prompt_WWss", "WW++", kOrange-2); 
  md.anConf.addSample( "_standard_prompt_WZ","WZ",kOrange-2); 
  md.anConf.addSample( "_standard_prompt_XG", "XG",  kOrange-2); 
  md.anConf.addSample( "_standard_prompt_ttW", "TTW",  kOrange-2); 
  md.anConf.addSample( "_standard_prompt_ttZH", "TTZH",  kOrange-2); 


  //===============================================================

  //*********************************************************************²

  //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.addExternalSystUnc("rare","btag",30,-30);
  
  
  md.getCategSystematic("BTag","HH","selected");
  md.getCategSystematic("BTag","HL","selected");
  md.getCategSystematic("BTag","LL","selected");
  gROOT->ProcessLine(".q");
    //md.drawStatistics("global_BR00H", "selected");

  //md.savePlot("SUSY3L");
  // md.dp.addText(xt,yt,st,addText);

}
void dataCardProd_HHSR9_T14t12() {
  md.refresh();


  //general parameters ********************* general parameters
  string dir="SSDL2015";
  string fileName="ssdl2fb_oct"; // not needed for statistics but provides the normalization
  string fileList="ssdl2fb_oct"; // 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=1; //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;
  

  md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

  //===============================================================

  md.addDataCardSigSample("HHSR9:_sig_T1t_1200_800","T14t12");
  
  md.addDataCardSample("HHSR9:_standard_prompt_WZ", "WZ");
  md.addDataCardSample("HHSR9:_standard_prompt_ttW","ttW");
  md.addDataCardSample("HHSR9:_standard_prompt_ttZH","ttHZ");
  md.addDataCardSample("HHSR9:_standard_prompt_WW", "WW");
  md.addDataCardSample("HHSR9:_standard_prompt_TG", "XG");
  md.addDataCardSample("HHSR9:_standard_prompt_VG", "XG");
  md.addDataCardSample("HHSR9:_standard_prompt_Rares","rares");
  md.addDataCardSample("HHSR9:_flipsappl_data", "flip");
  md.addDataCardSample("HHSR9:_fakesappl_data", "fake");

  md.addDataCardSample("HHSR9:data","data");
  
  
  //lumi
  md.addNuisanceParameter("lumi","WZ:ttW:ttHZ:WW:XG:rares:T14t12","lnN","1.08:1.08:1.08:1.08:1.08:1.08:1.08");

  //experimental uncertainties
  md.addNuisanceParameter("jes","ttW:ttZH:WW:XG:rares:T14t12","lnN","1.00:1.01:1.01:1.03:1.03:1.10");
  md.addNuisanceParameter("btag","ttW:ttZH:WW:XG:rares:T14t12","lnN","1.11:1.11:1.11:1.09:1.11:1.01");
  md.addNuisanceParameter("lEff","ttW:ttZH:WW:XG:rares:T14t12","lnN","1.04:1.04:1.04:1.04:1.04:1.04");
  md.addNuisanceParameter("tEff","ttW:ttZH:WW:XG:rares:T14t12","lnN","1.02:1.02:1.02:1.02:1.02:1.02");
  md.addNuisanceParameter("tHTE","ttW:ttZH:WW:XG:rares:T14t12","lnN","-:-:-:-:-:-");
  
  //test
  md.addNuisanceParameter("BTag","ttW","lnN","");
  
  //Data-driven methods
  md.addNuisanceParameter("chMID","flip","lnN","1.30");
  md.addNuisanceParameter("fratio","fake","lnN","1.30");
  md.addNuisanceParameter("frEwk","fake","lnN","1.10");

  //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("sigTh","T14t12","lnN","SIGTHTAG");

  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("ttWAcc","ttW","lnN","1.03");
  md.addNuisanceParameter("ttHZAcc","ttHZ","lnN","1.03");


  string srs[66]={ 
    "HHSR1", "HHSR2", "HHSR3", "HHSR4", "HHSR5", "HHSR6", "HHSR7", "HHSR8",
    "HHSR9", "HHSR10", "HHSR11", "HHSR12", "HHSR13", "HHSR14", "HHSR15", "HHSR16",
    "HHSR17", "HHSR18", "HHSR19", "HHSR20", "HHSR21", "HHSR22", "HHSR23", "HHSR24",
    "HHSR25", "HHSR26", "HHSR27", "HHSR28", "HHSR29", "HHSR30", "HHSR31", "HHSR32",
    
    "HLSR1", "HLSR2", "HLSR3", "HLSR4", "HLSR5", "HLSR6", "HLSR7", "HLSR8",
    "HLSR9", "HLSR10", "HLSR11", "HLSR12", "HLSR13", "HLSR14", "HLSR15", "HLSR16",
    "HLSR17", "HLSR18", "HLSR19", "HLSR20", "HLSR21", "HLSR22", "HLSR23", "HLSR24",
    "HLSR25","HLSR26",
    
    "LLSR1", "LLSR2", "LLSR3", "LLSR4", "LLSR5", "LLSR6", "LLSR7", "LLSR8"
  };

  //statistical uncertainties
  for(int isr=0;isr<66;isr++) {
    if(srs[isr]=="HHSR9") {
      md.addNuisanceParameter("ttW"+srs[isr]+"stat","ttW","gmN","");
      md.addNuisanceParameter("ttHZ"+srs[isr]+"stat","ttHZ","lnN","");
      md.addNuisanceParameter("WW"+srs[isr]+"stat","WW","lnN","");
      md.addNuisanceParameter("XG"+srs[isr]+"stat","XG","lnN","1.18");
      md.addNuisanceParameter("rares"+srs[isr]+"stat","rares","lnN","");
      md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","1.07");
      md.addNuisanceParameter("flip"+srs[isr]+"stat","flip","lnN","");
      md.addNuisanceParameter("T14t12"+srs[isr]+"stat","T14t12","lnN","");
      
    }
    else {
      md.addNuisanceParameter("ttW"+srs[isr]+"stat","ttW","gmN","-");
      md.addNuisanceParameter("ttHZ"+srs[isr]+"stat","ttHZ","lnN","-");
      md.addNuisanceParameter("WW"+srs[isr]+"stat","WW","lnN","-");
      md.addNuisanceParameter("XG"+srs[isr]+"stat","XG","lnN","-");
      md.addNuisanceParameter("rares"+srs[isr]+"stat","rares","lnN","-");
      md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","-");
      md.addNuisanceParameter("flip"+srs[isr]+"stat","flip","lnN","-");
      md.addNuisanceParameter("T14t12"+srs[isr]+"stat","T14t12","lnN","-");
    }
  }//signal regions  

  //md.overwriteNuisanceParameter("ttWHHSR9stat","ttW","2.00");


  //===============================================================

  //*********************************************************************²
  //Execution macro ******************************************************
  
  //plotting ================
  md.dp.setLumiAndEnergy( lumi, energy );
   
  md.prepareDisplay();
  
  md.makeSingleDataCard("T14t12", "global_HHSR9", "selected", "ssdl2015_HHSR9_T14t12");


  gROOT->ProcessLine(".q");

}
예제 #10
0
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");

}
예제 #11
0
void ssdlScan_BENCH() {
  md.refresh();


  //general parameters ********************* general parameters
  string dir="SSDL2015";
  string fileName="merged_2fb"; // not needed for statistics but provides the normalization
  string fileList="merged_2fb_T1tttt-MASS-"; // 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=2160; //pb-1 19470
  float energy=13; //TeV

  bool useXS=true;

  md.anConf.loadXSDB("XSectionsSpring15.db");

  map<string,float> LumisXS;

  //via XSect
  map<string,float> KFactors;
  KFactors[ "_standard_prompt_ttW" ] = 1.0213;
  KFactors[ "_standard_prompt_ttZH" ] = 1.0213;
  KFactors[ "_standard_prompt_WWss" ] = 1.0213;
  KFactors[ "_standard_prompt_XG" ] = 1.0213;
  KFactors[ "_standard_prompt_Rares" ] = 1.0213;
  KFactors[ "T1tttt-MASS-" ] = 1.0213;

  // marco put this line here:
  // _standard_prompt_WZ: WZTo3LNu: 1.22*xsec ; FillColor=ROOT.kOrange, FakeRate="susy-multilepton/standard_sel.txt\,susy-multilepton/load_is_2_prompt_loop.txt", Label="WZ (prompt)", NormSystematic=0.3
  KFactors[ "_standard_prompt_WZ" ] = 1.22;

 

  md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

  //===============================================================

  md.addDataCardSigSample("T1tttt-MASS-","T1tttt_BENCH");




  md.addDataCardSample("WZTo3LNu"                                                 , "WZ"      );
  md.addDataCardSample("TTWToLNu"                                                 , "ttW"     );
  md.addDataCardSample("TTZToLLNuNu"                                              , "ttHZ"    );
  md.addDataCardSample("TTLLJets_m1to10"                                          , "ttHZ"    );
  md.addDataCardSample("TTHnobb"                                                  , "ttHZ"    );
  md.addDataCardSample("WpWpJJ"                                                   , "WW"      );
  md.addDataCardSample("TTGJets"                                                  , "XG"      );
  md.addDataCardSample("TGJets"                                                   , "XG"      );
  md.addDataCardSample("WGToLNuG"                                                 , "XG"      );
  md.addDataCardSample("ZGTo2LG"                                                  , "XG"      );
  md.addDataCardSample("WWDouble"                                                 , "rares"   );
  md.addDataCardSample("ZZTo4L"                                                   , "rares"   );
  md.addDataCardSample("tZq_ll"                                                   , "rares"   );
  md.addDataCardSample("GGHZZ4L"                                                  , "rares"   );
  md.addDataCardSample("VHToNonbb"                                                , "rares"   );
  md.addDataCardSample("WWZ"                                                      , "rares"   );
  md.addDataCardSample("ZZZ"                                                      , "rares"   );
  md.addDataCardSample("WZZ"                                                      , "rares"   );
  md.addDataCardSample("TTTT"                                                     , "rares"   );
  md.addDataCardSample("DoubleEG_Run2015C_Oct05_runs_254231_254914"               , "data"    );
  md.addDataCardSample("DoubleEG_Run2015D_Oct05_runs_256630_258158"               , "data"    );
  md.addDataCardSample("DoubleEG_Run2015D_PromptV4_runs_258159_260627"            , "data"    );
  md.addDataCardSample("DoubleMuon_Run2015C_Oct05_runs_254231_254914"             , "data"    );
  md.addDataCardSample("DoubleMuon_Run2015D_Oct05_runs_256630_258158"             , "data"    );
  md.addDataCardSample("DoubleMuon_Run2015D_PromptV4_runs_258159_260627"          , "data"    );
  md.addDataCardSample("MuonEG_Run2015C_Oct05_runs_254231_254914"                 , "data"    );
  md.addDataCardSample("MuonEG_Run2015D_Oct05_runs_256630_258158"                 , "data"    );
  md.addDataCardSample("MuonEG_Run2015D_PromptV4_runs_258159_260627"              , "data"    );

  md.addDataCardSample("mId:DYJetsToLL_M10to50"                                   , "flip"    );
  md.addDataCardSample("mId:DYJetsToLL_M50"                                       , "flip"    );
  //md.addDataCardSample("mId:TTWToLNu"                                             , "flip", -1);
  //md.addDataCardSample("mId:TTZToLLNuNu"                                          , "flip", -1);
  //md.addDataCardSample("mId:TTLLJets_m1to10"                                      , "flip", -1);
  //md.addDataCardSample("mId:TTHnobb"                                              , "flip", -1);
  //md.addDataCardSample("mId:WZTo3LNu"                                             , "flip", -1);
  //md.addDataCardSample("mId:WpWpJJ"                                               , "flip", -1);
  //md.addDataCardSample("mId:TTGJets"                                              , "flip", -1);
  //md.addDataCardSample("mId:TGJets"                                               , "flip", -1);
  //md.addDataCardSample("mId:WGToLNuG"                                             , "flip", -1);
  //md.addDataCardSample("mId:ZGTo2LG"                                              , "flip", -1);
  //md.addDataCardSample("mId:WWDouble"                                             , "flip", -1);
  //md.addDataCardSample("mId:ZZTo4L"                                               , "flip", -1);
  //md.addDataCardSample("mId:tZq_ll"                                               , "flip", -1);
  //md.addDataCardSample("mId:GGHZZ4L"                                              , "flip", -1);
  //md.addDataCardSample("mId:VHToNonbb"                                            , "flip", -1);
  //md.addDataCardSample("mId:WWZ"                                                  , "flip", -1);
  //md.addDataCardSample("mId:ZZZ"                                                  , "flip", -1);
  //md.addDataCardSample("mId:WZZ"                                                  , "flip", -1);
  //md.addDataCardSample("mId:TTTT"                                                 , "flip", -1);

  md.addDataCardSample("data:Fake:DoubleEG_Run2015C_Oct05_runs_254231_254914"     , "fake"    );
  md.addDataCardSample("data:Fake:DoubleEG_Run2015D_Oct05_runs_256630_258158"     , "fake"    );
  md.addDataCardSample("data:Fake:DoubleEG_Run2015D_PromptV4_runs_258159_260627"  , "fake"    );
  md.addDataCardSample("data:Fake:DoubleMuon_Run2015C_Oct05_runs_254231_254914"   , "fake"    );
  md.addDataCardSample("data:Fake:DoubleMuon_Run2015D_Oct05_runs_256630_258158"   , "fake"    );
  md.addDataCardSample("data:Fake:DoubleMuon_Run2015D_PromptV4_runs_258159_260627", "fake"    );
  md.addDataCardSample("data:Fake:MuonEG_Run2015C_Oct05_runs_254231_254914"       , "fake"    );
  md.addDataCardSample("data:Fake:MuonEG_Run2015D_Oct05_runs_256630_258158"       , "fake"    );
  md.addDataCardSample("data:Fake:MuonEG_Run2015D_PromptV4_runs_258159_260627"    , "fake"    );
  //md.addDataCardSample("Fake:DYJetsToLL_M10to50"                                  , "fake", -1);
  //md.addDataCardSample("Fake:DYJetsToLL_M50"                                      , "fake", -1);
  md.addDataCardSample("Fake:TTWToLNu"                                            , "fake", -1);
  md.addDataCardSample("Fake:TTZToLLNuNu"                                         , "fake", -1);
  md.addDataCardSample("Fake:TTLLJets_m1to10"                                     , "fake", -1);
  md.addDataCardSample("Fake:TTHnobb"                                             , "fake", -1);
  md.addDataCardSample("Fake:WZTo3LNu"                                            , "fake", -1);
  md.addDataCardSample("Fake:WpWpJJ"                                              , "fake", -1);
  md.addDataCardSample("Fake:TTGJets"                                             , "fake", -1);
  md.addDataCardSample("Fake:TGJets"                                              , "fake", -1);
  md.addDataCardSample("Fake:WGToLNuG"                                            , "fake", -1);
  md.addDataCardSample("Fake:ZGTo2LG"                                             , "fake", -1);
  md.addDataCardSample("Fake:WWDouble"                                            , "fake", -1);
  md.addDataCardSample("Fake:ZZTo4L"                                              , "fake", -1);
  md.addDataCardSample("Fake:tZq_ll"                                              , "fake", -1);
  md.addDataCardSample("Fake:GGHZZ4L"                                             , "fake", -1);
  md.addDataCardSample("Fake:VHToNonbb"                                           , "fake", -1);
  md.addDataCardSample("Fake:WWZ"                                                 , "fake", -1);
  md.addDataCardSample("Fake:ZZZ"                                                 , "fake", -1);
  md.addDataCardSample("Fake:WZZ"                                                 , "fake", -1);
  md.addDataCardSample("Fake:TTTT"                                                , "fake", -1);

  
  //shape uncertainties
  md.addNuisanceParameter("JES","ttW:ttZH:WZ:WW:XG:rares:T1tttt_BENCH","shape","");
  md.addNuisanceParameter("BTAG","ttW:ttZH:WZ:WW:XG:rares:T1tttt_BENCH","shape","");
  md.addNuisanceParameter("tHTE","ttW:ttZH:WZ:WW:XG:rares:T1tttt_BENCH","shape","");

  md.addNuisanceParameter("EWKFR","fake","shape","");

  md.addNuisanceParameter("ttWAcc","ttW","shape","");
  md.addNuisanceParameter("ttHZAcc","ttHZ","shape","");

  md.addNuisanceParameter("BTAGFS","T1tttt_BENCH","shape","");
  md.addNuisanceParameter("LepEffFS","T1tttt_BENCH","shape","");
  md.addNuisanceParameter("ISR","T1tttt_BENCH","shape","");

  md.addNuisanceParameter("QCDScale","T1tttt_BENCH","shape","");

  //vector<string> cats(
  string cats[66]={
    "HHSR1","HHSR2","HHSR3","HHSR4","HHSR5","HHSR6","HHSR7","HHSR8",
    "HHSR9","HHSR10","HHSR11","HHSR12","HHSR13","HHSR14","HHSR15","HHSR16",
    "HHSR17","HHSR18","HHSR19","HHSR20","HHSR21","HHSR22","HHSR23","HHSR24",
    "HHSR25","HHSR26","HHSR27","HHSR28","HHSR29","HHSR30","HHSR31","HHSR32",

    "HLSR1","HLSR2","HLSR3","HLSR4","HLSR5","HLSR6","HLSR7","HLSR8",
    "HLSR9","HLSR10","HLSR11","HLSR12","HLSR13","HLSR14","HLSR15","HLSR16",
    "HLSR17","HLSR18","HLSR19","HLSR20","HLSR21","HLSR22","HLSR23","HLSR24",
    "HLSR25","HLSR26",

    "LLSR1","LLSR2","LLSR3","LLSR4","LLSR5","LLSR6","LLSR7","LLSR8"
  };

  //vector<string> dss; 
  string dss[7]={"ttW","ttHZ","WZ","WW","XG","rares","T1tttt_BENCH"};
  

  for(int isr=0;isr<66/*cats.size()*/;isr++) {
    md.addNuisanceParameter("pdfS"+cats[isr],"T1tttt_BENCH","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:T1tttt_BENCH","lnN","1.046:1.046:1.046:1.046:1.046:1.046:1.046");
  //md.addNuisanceParameter("lumi","ttW:ttHZ:WW:XG:rares:T1tttt_BENCH","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:T1tttt_BENCH","lnN","1.04:1.04:1.04:1.04:1.04:1.04");
  md.addNuisanceParameter("tEff","ttW:ttHZ:WW:XG:rares:T1tttt_BENCH","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","T1tttt_BENCH","lnN","1.05");

  //===============================================================

  //*********************************************************************²
  //Execution macro ******************************************************
  
  //plotting ================
  md.dp.setLumiAndEnergy( lumi, energy );
   
  md.prepareDisplay();
  
  int ncategs=66;
  // vector<string> categs(
  string categs[66]={"global_HHSR1","global_HHSR2","global_HHSR3","global_HHSR4",
		     "global_HHSR5","global_HHSR6","global_HHSR7","global_HHSR8",
		     "global_HHSR9","global_HHSR10","global_HHSR11","global_HHSR12",
		     "global_HHSR13","global_HHSR14","global_HHSR15","global_HHSR16",
		     "global_HHSR17","global_HHSR18","global_HHSR19","global_HHSR20",
		     "global_HHSR21","global_HHSR22","global_HHSR23","global_HHSR24",
		     "global_HHSR25","global_HHSR26","global_HHSR27","global_HHSR28",
		     "global_HHSR29","global_HHSR30","global_HHSR31","global_HHSR32",

		     "global_HLSR1","global_HLSR2","global_HLSR3","global_HLSR4",
		     "global_HLSR5","global_HLSR6","global_HLSR7","global_HLSR8",
		     "global_HLSR9","global_HLSR10","global_HLSR11","global_HLSR12",
		     "global_HLSR13","global_HLSR14","global_HLSR15","global_HLSR16",
		     "global_HLSR17","global_HLSR18","global_HLSR19","global_HLSR20",
		     "global_HLSR21","global_HLSR22","global_HLSR23","global_HLSR24",
		     "global_HLSR25","global_HLSR26",

		     "global_LLSR1","global_LLSR2","global_LLSR3","global_LLSR4",
		     "global_LLSR5","global_LLSR6","global_LLSR7","global_LLSR8",
  };
  vector<string> vcategs;
  for(int i=0;i<66;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/cheidegg/t/runScanStuff/step5/QCDScales/scaleUnc-MASS-.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("T1tttt_BENCH","pdfS"+cats[isr],0.1, -0.1, categs[ic], "selected");
       else
	 md.addExternalSystUnc("T1tttt_BENCH","pdfS"+cats[isr],0., 0., categs[ic], "selected");
     }
     md.addExternalSystUnc("T1tttt_BENCH","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");
    }
  }
  
  md.makeMultiDataCard("T1tttt_BENCH", vcategs, "selected", "ssdlScan_2fb_T1tttt_BENCH");


  gROOT->ProcessLine(".q");

}
예제 #12
0
// template plot producer for WZ validation plots, called by Sub_SynchroPlots850_WZ25.sh
//string today = "150910";
void template_plotsWZv2_25ns(std::string var,std::string fileName){
  gStyle->SetOptStat(0);

  md.refresh();
  
  //general parameters ********************* general parameters
  string dir="WZsynchro"; 
  //string fileName="template_WZ25";
  //string fileList="template_WZ25";
  string fileList=fileName;
  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;
  }
  /*if (var.find("M3l") != std::string::npos){
      logYScale = true;
      rangeY[0]={0.1};
      rangeY[1]={100000.};
  }*/
  
  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="";
  
  float lumi=832.31; //pb-1 19470 // runs 
  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( "WZTo3LNu"                    , "WZp8"         ,  kGreen+3);

/*
  md.anConf.addSample( "WZTo3LNu"                , "WZ"         ,  kGreen+3);
  md.anConf.addSample( "DYJetsToLL_M10to50"      , "DY"         ,  kCyan  );
  md.anConf.addSample( "DYJetsToLL_M50"          , "DY"         ,  kCyan  );
  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( "TbarToLeptons_tch"       , "Single top" ,  kGray+2); 
  md.anConf.addSample( "TToLeptons_sch_amcatnlo" , "Single top" ,  kGray+2);
  md.anConf.addSample( "WJetsToLNu"              , "W+jets"     ,  kCyan+2);
  md.anConf.addSample( "WWTo2L2Nu"               , "WW"         ,  kSpring+10);
  md.anConf.addSample( "ZZTo4L"                  , "ZZ"         ,  kViolet-5);
  md.anConf.addSample( "GGHZZ4L"                 , "ZZ"         ,  kViolet-5);
  md.anConf.addSample( "TTJets"                  , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "TTLLJets_m1to10"         , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "TTWToLNu"                , "t#bar{t}W"         ,  kMagenta-10);
  md.anConf.addSample( "TTZToLLNuNu"             , "t#bar{t}Z"         ,  kBlue  );
  md.anConf.addSample( "TTHnobb"                 , "t#bar{t}H"         ,  kOrange+3  );
  md.anConf.addSample( "TTGJets"                 , "t#bar{t}#gamma"    ,  kOrange-1  );
  */

  md.anConf.addSample( "Tree_WZ_0"               , "WZ"         ,  kGreen+3);
  md.anConf.addSample("Tree_DYJetsToLL_M10to50_0", "DY"         ,  kCyan  );
  md.anConf.addSample( "Tree_DYJetsToLL_M50_0"   , "DY"         ,  kCyan  );
  md.anConf.addSample( "Tree_DYJetsToLL_M50_1"   , "DY"         ,  kCyan  );
  md.anConf.addSample( "Tree_DYJetsToLL_M50_2"   , "DY"         ,  kCyan  );
  md.anConf.addSample( "Tree_TbarW_0"            , "Single top" ,  kGray+2); 
  md.anConf.addSample( "Tree_TW_0"               , "Single top" ,  kGray+2);
  md.anConf.addSample( "Tree_WJetsToLNu_0"       , "W+jets"     ,  kCyan+2);
  //md.anConf.addSample( "Tree_WWTo2L2Nu_0"        , "WW"         ,  kSpring+10);
  md.anConf.addSample( "Tree_WW_0"               , "WW"         ,  kSpring+10);
  md.anConf.addSample( "Tree_ZZ_0"               , "ZZ"         ,  kViolet-5);
  md.anConf.addSample( "Tree_TTJets_0"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_1"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_2"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_3"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_4"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_5"           , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTJets_6"           , "t#bar{t}"   ,  kRed   );
  //md.anConf.addSample( "Tree_TTLep_pow_0"        , "t#bar{t}"   ,  kRed   );
  //md.anConf.addSample( "Tree_TTLep_pow_1"        , "t#bar{t}"   ,  kRed   );
  md.anConf.addSample( "Tree_TTWToLNu_0"         , "t#bar{t}W"  ,  kMagenta-10);
  md.anConf.addSample( "Tree_TTWToQQ_0"          , "t#bar{t}W"  ,  kMagenta-10);
  md.anConf.addSample( "Tree_TTZToQQ_0"          , "t#bar{t}Z"  ,  kBlue  );

  
  // the order MATTERS!!!
  
  md.anConf.addSample( "Tree_DoubleEG_Run2015D_05Oct_0"              , "data", kBlack);
  md.anConf.addSample( "Tree_DoubleEG_Run2015D_v4_0"                      , "data", kBlack);
  md.anConf.addSample( "Tree_DoubleMuon_Run2015D_05Oct_0"              , "data", kBlack);
  md.anConf.addSample( "Tree_DoubleMuon_Run2015D_v4_0"              , "data", kBlack);
  md.anConf.addSample( "Tree_MuonEG_Run2015D_05Oct_0"         , "data", kBlack);
  md.anConf.addSample( "Tree_MuonEG_Run2015D_v4_0"              , "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");
}
예제 #13
0
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");

}
예제 #14
0
void susy3l_tt_closure() {
    md.refresh();



    //general parameters ********************* general parameters
    string dir="SUSY3L";
    string fileName="ttbar_closure_MuEl_qcd_Powheg_newPU"; //was treeName in LUNE susy_cut_lowpt
    string fileList="ttbar_closure_MuEl_qcd_Powheg_newPU"; //CH: since AnaConfig needs a fileName to open, we need to put the data files into a different variable
    string hName="";

    bool mcOnly = false;
  
    //if(md.isInitStatus()) {
    md.anConf.configureNames( dir, fileName, fileList );//, hName );
    md.anConf.configureData(false, 0, mcOnly);
    //}
 
   
    string sigs = "none"; 
    bool data = false;
    bool manual = false;
    string region = "OffZBaseline";

    if(!manual){string obs = "VARIABLE" ;}    //njets, nbjets, met, ht, lep, zpeak, zpt, mt, pt1, pt2, pt3, mll
    else{string obs = "njets";}
 
    //Binning & title ************************* Binning & titre
    string yTitle="number of events";
    //int binning=1;
    int addBinBkg=1; //BinB = binning*AddBin
    double rangeY[2]={0,0};
    bool logYScale=true;
    //double rangeX[2]={0,7};
    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="";

    if(obs == "njets"){
        md.dp.setObservables("NJets" + region);
        int binning=1;
        double rangeX[2]={2,10};
        //bool logYScale=true;
    }
    if(obs == "nbjets"){
        md.dp.setObservables("NBJets" + region);
        int binning=1;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "met"){
        md.dp.setObservables("MET" + region);
        int binning=50;
        double rangeX[2]={0,500};
        //bool logYScale=true;
    }
    if(obs == "ht"){
        md.dp.setObservables("HT" + region);
        int binning=60;
        double rangeX[2]={0,1000};
        //bool logYScale=true;
    }
    if(obs == "pt1"){
        md.dp.setObservables("pt_1st_lepton" + region);
        int binning=10;
        double rangeX[2]={0,200};
        //bool logYScale=true;
    }
    if(obs == "pt2"){
        md.dp.setObservables("pt_2nd_lepton" + region);
        int binning=10;
        double rangeX[2]={0,150};
        //bool logYScale=true;
    }   
    if(obs == "pt3"){
        md.dp.setObservables("pt_3rd_lepton" + region);
        int binning=10;
        double rangeX[2]={0,100};
        //bool logYScale=true;
    }
    if(obs == "ftype"){
        md.dp.setObservables("fake_type" + region);
        int binning=1;
        double rangeX[2]={0,5};
        //bool logYScale=true;
    }
    if(obs == "flavor"){
        md.dp.setObservables("flavor" + region);
        int binning=1;
        double rangeX[2]={0,4};
        //bool logYScale=true;
    }
    if(obs == "srs"){
        md.dp.setObservables("SRS" + region);
        int binning=1;
        double rangeX[2]={1,16};
        //bool logYScale=true;
    }
    if(obs == "mu_multi"){
        md.dp.setObservables("mu_multiplicity" + region);
        int binning=1;
        double rangeX[2]={0,6};
        //bool logYScale=true;
    }
    if(obs == "el_multi"){
        md.dp.setObservables("el_multiplicity" + region);
        int binning=1;
        double rangeX[2]={0,6};
        //bool logYScale=true;
    }
    if(obs == "lep_multi"){
        md.dp.setObservables("lep_multiplicity" + region);
        int binning=1;
        double rangeX[2]={0,6};
        //bool logYScale=true;
    }





    //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=3000; //pb-1 19470
    float energy=13; //TeV

    bool useXS=true;

    md.anConf.loadXSDB("XSectionsSpring15.db");
    
    map<string,float> LumisXS;
    
    md.anConf.loadKFDB("kFactorsSpring15.db");
    
    //via XSect
  
    map<string,float> KFactors;
    // if( md.isInitStatus() )
    md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

    
    
    
    //===============================================================
    // SDYJetsM50_HT600toInf_PU_S14_POSTLS170_skimamples **************************  samples
    //if( md.isInitStatus() ) {
 
    //TTV
//    md.anConf.addSample( "TTWToLNu"                             ,  "ttW"          , kYellow   );
//    md.anConf.addSample( "TTZToLLNuNu"                          ,  "ttZ"          , kBlue     );
 
    //di-boson
//    md.anConf.addSample( "WZTo3LNu"                             ,  "WZ"              , kGreen    );
//    md.anConf.addSample( "ZZTo4L"                               ,  "ZZ"              , kGreen+3  );
 
    //VVV   
//    md.anConf.addSample( "WWZ"                                  ,  "VVV"             , kGreen+4   );
//    md.anConf.addSample( "WZZ"                                  ,  "VVV"             , kGreen+4   );
//    md.anConf.addSample( "ZZZ"                                  ,  "VVV"             , kGreen+4   );

    //rare
//    md.anConf.addSample( "GGHZZ4L"                              ,  "rare SM"             , kCyan     );
//    md.anConf.addSample( "TTHnobb"                              ,  "rare SM"             , kCyan      );
//    md.anConf.addSample( "VHToNonbb"                            ,  "rare SM"             , kCyan      );

//    md.anConf.addSample( "WGToLNuG"                             ,  "rare SM"             , kCyan      );
//    md.anConf.addSample( "WpWpJJ"                               ,  "rare SM"             , kCyan      );
//    md.anConf.addSample( "WWDouble"                             ,  "rare SM"             , kCyan      );
//    md.anConf.addSample( "WWTo2L2Nu"                            ,  "rare SM"             , kCyan      );
    //md.anConf.addSample( "ZGTo2LG"                              ,  "rare SM"             , kCyan      );

    //top production
//    md.anConf.addSample( "TbarToLeptons_tch"                ,  "single t"    , kRed+3      );
//    md.anConf.addSample( "TBar_tWch"                        ,  "single t"    , kRed+3      );
//    md.anConf.addSample( "T_tWch"                           ,  "single t"    , kRed+3      );
 //   md.anConf.addSample( "TToLeptons_sch_amcatnlo"          ,  "single t"    , kRed+3      );
//    md.anConf.addSample( "TToLeptons_tch"                   ,  "single t"    , kRed+3      );
//    md.anConf.addSample( "TGJets"                           ,  "single t"    , kRed+3      );
    //md.anConf.addSample( "tZqll"                            ,  "single t"    , kRed+3      );
//    md.anConf.addSample( "TTJets"                           ,  "TT"    , kRed+2      );
//    md.anConf.addSample( "TTGJets"                          ,  "TT"    , kRed+2      );
//    md.anConf.addSample( "TTLLJets_m1to10"                  ,  "TT"    , kRed+2      );
//    md.anConf.addSample( "TTTT"                             ,  "TT"    , kRed+2      );
    md.anConf.addSample( "TT_pow"                             ,  "TT"    , kRed-6      );
    md.anConf.addSample( "_Fake:TT_pow"                        ,  "predicted sig"    , kBlack      );
//    md.anConf.addSample( "TTJets_DiLepton"                      ,  "TT"    , kRed-6      );
//    md.anConf.addSample( "Fake:TTJets_DiLepton"                 ,  "predicted sig"    , kBlack      );


    //W+Jets
//    md.anConf.addSample( "WJetsToLNu"            ,  "WJets"    , kRed-6      );

    //Drell-Yan
//    md.anConf.addSample( "DYJetsToLL_M10to50"          ,  "DY"    , kRed     );
//    md.anConf.addSample( "DYJetsToLL_M50"              ,  "DY"    , kRed     );


    //signal
    //if(sigs=="t"){
    //md.anConf.addSample( "T1tttt_mGo1200_mChi800"                       ,  "T1t412 sig"     , kBlue-3 );
    //md.anConf.addSample( "T1tttt_mGo1500_mChi100"                       ,  "T1t415 sig"     , kBlue-7  );
    //md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280"    ,  "T5t410 sig"     , kOrange+10  );
    //}
    if(sigs=="q"){
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4WZ315 sig"  , kGreen+2  );
    md.anConf.addSample( "T5qqqqWZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4WZ325 sig"  , kMagenta  );
    md.anConf.addSample( "T5qqqqWZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4WZ12 sig"   , kRed-6  );
    md.anConf.addSample( "T5qqqqWZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4WZ15 sig"   , kRed+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh315_mChi300_dilep"     ,  "T5q4ZZ315 sig"  , kGreen+3  );
    md.anConf.addSample( "T5qqqqZZDeg_mGo1000_mCh325_mChi300_dilep"     ,  "T5q4ZZ325 sig"  , kMagenta+2  );
    md.anConf.addSample( "T5qqqqZZ_mGo1200_mCh1000_mChi800_dilep"       ,  "T5q4ZZ12 sig"   , kRed-9  );
    md.anConf.addSample( "T5qqqqZZ_mGo1500_mCh800_mChi100_dilep"        ,  "T5q4ZZ15 sig"   , kRed+1  );
    }
    
    //data
    if(data){
    md.anConf.addSample( "DoubleEG_Run2015D_v3_runs_256630_257599"              , "data"          , kBlack    );
    md.anConf.addSample( "DoubleEG_Run2015D_v3_runs_257600_258158"              , "data"          , kBlack    );
    md.anConf.addSample( "DoubleEG_Run2015D_v4_runs_258159_258714_excl"         , "data"          , kBlack    );
    md.anConf.addSample( "DoubleEG_Run2015D_v4_runs_258211_258750"              , "data"          , kBlack    );
    md.anConf.addSample( "DoubleMuon_Run2015D_v3_runs_256630_257599"            , "data"          , kBlack    );
    md.anConf.addSample( "DoubleMuon_Run2015D_v3_runs_257600_258158"            , "data"          , kBlack    );
    md.anConf.addSample( "DoubleMuon_Run2015D_v4_runs_258159_258714_excl"       , "data"          , kBlack    );
    md.anConf.addSample( "DoubleMuon_Run2015D_v4_runs_258211_258750"            , "data"          , kBlack    );
    md.anConf.addSample( "MuonEG_Run2015D_v3_runs_256630_257599"                , "data"          , kBlack    );
    md.anConf.addSample( "MuonEG_Run2015D_v3_runs_257600_258158"                , "data"          , kBlack    );
    md.anConf.addSample( "MuonEG_Run2015D_v4_runs_258159_258714_excl"           , "data"          , kBlack    );
    md.anConf.addSample( "MuonEG_Run2015D_v4_runs_258211_258750"                , "data"          , kBlack    );
    md.anConf.addSample( "SingleElectron_Run2015D_v3_runs_256630_257599"        , "data"          , kBlack    );
    md.anConf.addSample( "SingleElectron_Run2015D_v3_runs_257600_258158"        , "data"          , kBlack    );
    md.anConf.addSample( "SingleElectron_Run2015D_v4_runs_258159_258714_excl"   , "data"          , kBlack    );
    md.anConf.addSample( "SingleElectron_Run2015D_v4_runs_258211_258750"        , "data"          , kBlack    );
    md.anConf.addSample( "SingleMuon_Run2015D_v3_runs_256630_257599"            , "data"          , kBlack    );
    md.anConf.addSample( "SingleMuon_Run2015D_v3_runs_257600_258158"            , "data"          , kBlack    );
    md.anConf.addSample( "SingleMuon_Run2015D_v4_runs_258159_258714_excl"       , "data"          , kBlack    );
    md.anConf.addSample( "SingleMuon_Run2015D_v4_runs_258211_258750"            , "data"          , kBlack    );
    }


//    md.anConf.addSample( "T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1000) * 20 sig" , kOrange-3 );
  //md.anConf.addSample( "T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_skim"  ,  "T5tttt (1300) #cdot 20 sig" , kOrange+6 );
    // }
    //===============================================================

    //*********************************************************************²
    //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.doStatisticsPlot();
    md.savePlot("SUSY3L");
    // md.dp.addText(xt,yt,st,addText);
    if(!manual) gROOT->ProcessLine(".q");
 
}
예제 #15
0
void comissioning() {
  md.refresh();


  //general parameters ********************* general parameters
  string dir="Comissioning";
  string fileName="comissioning"; // not needed for statistics but provides the normalization
  string fileList="comissioning"; // 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);
  
  md.dp.setObservables("CCMassSS");
  
  //Binning & title ************************* Binning & titre
  string yTitle="number of events";
  int binning=0;
  int addBinBkg=1; //BinB = binning*AddBin
  double rangeY[2]={0,0};
  double rangeX[2]={60,120};
  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="chargeFlip";
  // 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=673; //pb-1 19470
  float energy=13; //TeV

  bool useXS=false;

  md.anConf.loadXSDB("XSectionsSpring15.db");
  //md.anConf.loadKFDB("kFactorsPhys14.db");
  

  map<string,float> LumisXS;

  //via XSect
  map<string,float> KFactors;
  

  md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

  //===============================================================
  // md.anConf.addSample( "WWTo2L2Nu_50ns",      "VV", kRed+1); 
  //md.anConf.addSample( "WZp8_50ns",           "VV", kRed+1); 
  // md.anConf.addSample( "ZZp8_50ns",           "VV", kRed+1); 
  // md.anConf.addSample( "TToLeptons_tch_50ns", "single-top", kViolet-3); 
  // md.anConf.addSample( "T_tWch_50ns",         "single-top", kViolet-3); 

  md.anConf.addSample( "TT_pow", "t#bar{t}", kMagenta+3); 
  // md.anConf.addSample( "WJetsToLNu_50ns", "W+jets", kOrange+7); 

  // md.anConf.addSample( "DYJetsToLL_M10to50_50ns", "Z/#gamma*", kOrange-2); 
  md.anConf.addSample( "DYJetsToLL_M50", "Z/#gamma*", kOrange-2); 

  // md.anConf.addSample( "DoubleEG_Run2015B_17Jul2015_runs_251244_251562", "data", kBlack);
  //md.anConf.addSample( "DoubleEG_Run2015D_v3_runs_256630_257599", "data", kBlack);
   //md.anConf.addSample( "DoubleMuon_Run2015B_17Jul2015_runs_251244_251562", "data", kBlack);
  // md.anConf.addSample( "DoubleMuon_Run2015B_v1_runs_251643_251883", "data", kBlack);
  // md.anConf.addSample( "SingleElectron_Run2015B_17Jul2015_runs_251244_251562", "data", kBlack);
  // md.anConf.addSample( "SingleElectron_Run2015B_v1_runs_251643_251883", "data", kBlack);
  // md.anConf.addSample( "SingleMuon_Run2015B_17Jul2015_runs_251244_251562", "data", kBlack);
  // md.anConf.addSample( "SingleMuon_Run2015B_v1_runs_251643_251883", "data", kBlack);

   md.anConf.addSample( "DoubleEG_Run2015D_v3_run_256926", "data", kBlack);
   md.anConf.addSample( "DoubleEG_Run2015D_v3_runs_257600_258158", "data", kBlack);
   md.anConf.addSample( "DoubleEG_Run2015D_v4_runs_258159_258714", "data", kBlack);

  //md.anConf.addSample( "DoubleEG_Run2015D_256926_258714", "data", kBlack);

  // }
  //===============================================================

  //*********************************************************************²
  //Execution macro ******************************************************
  
  //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.producePlots("chargeFlipControl800");
  md.doPlot();
  
  //md.makeSingleDataCard("sig", "global_SR1A", "weigthing", "test");
 

    //gROOT->ProcessLine(".q");

}
예제 #16
0
void dataCardProd_CATTAG_SIGTAG_LUMTAG() {
  md.refresh();


  //general parameters ********************* general parameters
  string dir="SSDL2015";
  string fileName="fakeEstim_SR"; // not needed for statistics but provides the normalization
  string fileList="fakeEstim_SR"; // 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=LUMTAG; //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;
  

  md.anConf.configureLumi( LumisXS, KFactors, lumi, useXS );

  //===============================================================

  md.addDataCardSigSample("CATTAG:SIGNAME","SIGTAG");
  
  md.addDataCardSample("CATTAG:WZJetsTo3LNu", "wz");
  md.addDataCardSample("CATTAG:TTH", "tth");
  md.addDataCardSample("CATTAG:TTZJets", "ttz");
  md.addDataCardSample("CATTAG:TTWJets", "ttw");
  
  md.addDataCardSample("CATTAG:TTJetscharge", "chMId");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT100to200charge", "chMId");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT200to400charge", "chMId");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT400to600charge", "chMId");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT600toInfcharge", "chMId");

  md.addDataCardSample("CATTAG_Fake:TTJets", "fake");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT100to200", "fake");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT200to400", "fake");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT400to600", "fake");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT600toInf", "fake");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT100to200", "fake");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT200to400", "fake");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT400to600", "fake");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT600toInf", "fake");

  // md.addDataCardSample("CATTAG:TTJetsfake", "fake");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT100to200fake", "fake");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT200to400fake", "fake");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT400to600fake", "fake");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT600toInffake", "fake");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT100to200fake", "fake");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT200to400fake", "fake");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT400to600fake", "fake");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT600toInffake", "fake");
  
  md.addDataCardSample("CATTAG:WZJetsTo3LNu", "pseudodata");
  md.addDataCardSample("CATTAG:TTH", "pseudodata");
  md.addDataCardSample("CATTAG:TTZJets", "pseudodata");
  md.addDataCardSample("CATTAG:TTWJets", "pseudodata");
  md.addDataCardSample("CATTAG:TTJetscharge", "pseudodata");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT100to200charge", "pseudodata");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT200to400charge", "pseudodata");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT400to600charge", "pseudodata");
  md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT600toInfcharge", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:TTJets", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT100to200", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT200to400", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT400to600", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:WJetsToLNu_HT600toInf", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT100to200", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT200to400", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT400to600", "pseudodata");
  md.addDataCardSample("CATTAG_Fake:DYJetsToLL_M50_HT600toInf", "pseudodata");
  // md.addDataCardSample("CATTAG:TTJetsfake", "pseudodata");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT100to200fake", "pseudodata");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT200to400fake", "pseudodata");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT400to600fake", "pseudodata");
  // md.addDataCardSample("CATTAG:WJetsToLNu_HT600toInffake", "pseudodata");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT100to200fake", "pseudodata");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT200to400fake", "pseudodata");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT400to600fake", "pseudodata");
  // md.addDataCardSample("CATTAG:DYJetsToLL_M50_HT600toInffake", "pseudodata");


  //experimental uncertainties
  md.addNuisanceParameter("jes","ttw:ttz:SIGTAG","lnN","JESTAG");

  //extrapolation uncertainties
  md.addNuisanceParameter("ttwTail","ttw","lnN","TTWTAILTAG");
  md.addNuisanceParameter("ttzTail","ttz","lnN","TTZTAILTAG");
  md.addNuisanceParameter("wzB","wz","lnN","WZBTAG");

  //flat uncertainties -> cross sections
  // md.addNuisanceParameter("ttwNorm","ttw","lnN","1.1"); //->merged with the "tail" source
  // md.addNuisanceParameter("ttwNorm","ttz","lnN","1.1");
  md.addNuisanceParameter("wzNorm","wz","lnN","WZLUMITAG");
  
  //Data-driven methods
  md.addNuisanceParameter("chMID","chMId","lnN","1.50");
  md.addNuisanceParameter("fratio","fake","lnN","1.40");

  //syst from stat uncertainties == automatic
  //md.addNuisanceParameter("wzstat","wz","lnN",""); //--> already given by the 8/15% on Xsect
  // md.addNuisanceParameter("tthstat","tth","lnN","");
  // md.addNuisanceParameter("ttwstat","ttw","lnN","");
  // md.addNuisanceParameter("ttzstat","ttz","lnN","");
  // md.addNuisanceParameter("fakestat","fake","lnN","");
  // md.addNuisanceParameter("chMIdstat","chMId","lnN","");
  // md.addNuisanceParameter("SIGTAGstat","SIGTAG","lnN","");

  
  string srs[66]={ 
    "SR1A", "SR2A", "SR3A", "SR4A", "SR5A", "SR6A", "SR7A", "SR8A",
    "SR9A", "SR10A", "SR11A", "SR12A", "SR13A", "SR14A", "SR15A", "SR16A",
    "SR17A", "SR18A", "SR19A", "SR20A", "SR21A", "SR22A", "SR23A", "SR24A",
    "SR25A", "SR26A", "SR27A", "SR28A", "SR29A", "SR30A", "SR31A", "SR32A",
    
    "SR1B", "SR2B", "SR3B", "SR4B", "SR5B", "SR6B", "SR7B", "SR8B",
    "SR9B", "SR10B", "SR11B", "SR12B", "SR13B", "SR14B", "SR15B", "SR16B",
    "SR17B", "SR18B", "SR19B", "SR20B", "SR21B", "SR22B", "SR23B", "SR24B",
    "SR25B","SR26B",
    
    "SR1C", "SR2C", "SR3C", "SR4C", "SR5C", "SR6C", "SR7C", "SR8C"
  };



  for(int isr=0;isr<66;isr++) {
    if(srs[isr]=="CATTAG") {
      md.addNuisanceParameter("tth"+srs[isr]+"stat","tth","lnN","");
      md.addNuisanceParameter("ttw"+srs[isr]+"stat","ttw","lnN","");
      md.addNuisanceParameter("ttz"+srs[isr]+"stat","ttz","lnN","");
      md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","");
      md.addNuisanceParameter("chMId"+srs[isr]+"stat","chMId","lnN","");
      md.addNuisanceParameter("SIGTAG"+srs[isr]+"stat","SIGTAG","lnN","");
    }
    else {
      md.addNuisanceParameter("tth"+srs[isr]+"stat","tth","lnN","-");
      md.addNuisanceParameter("ttw"+srs[isr]+"stat","ttw","lnN","-");
      md.addNuisanceParameter("ttz"+srs[isr]+"stat","ttz","lnN","-");
      md.addNuisanceParameter("fake"+srs[isr]+"stat","fake","lnN","-");
      md.addNuisanceParameter("chMId"+srs[isr]+"stat","chMId","lnN","-");
      md.addNuisanceParameter("SIGTAG"+srs[isr]+"stat","SIGTAG","lnN","-");
    }
  }//signal regions  


  // md.addNuisanceParameter("SIGTAGStat","SIGTAG","lnN","");
  // md.addNuisanceParameter("ttwStat","ttw","lnN","");
  // md.addNuisanceParameter("ttzStat","ttz","lnN","");
  // md.addNuisanceParameter("wzStat","wz","lnN","");

  //md.addNuisanceParameter("sigNorm","T1t415","lnN","1.10");


  // }
  //===============================================================

  //*********************************************************************²
  //Execution macro ******************************************************
  
  //plotting ================
  md.dp.setLumiAndEnergy( lumi, energy );
   
  md.prepareDisplay();
  
 //  int nCateg=66; //47
 //  vector<string> _categs(nCateg,"");
 
 // string srs[66]={ 

 //    "SR1A", "SR2A", "SR3A", "SR4A", "SR5A", "SR6A", "SR7A", "SR8A",
 //    "SR9A", "SR10A", "SR11A", "SR12A", "SR13A", "SR14A", "SR15A", "SR16A",
 //    "SR17A", "SR18A", "SR19A", "SR20A", "SR21A", "SR22A", "SR23A", "SR24A",
 //    "SR25A", "SR26A", "SR27A", "SR28A", "SR29A", "SR30A", "SR31A", "SR32A",
    
 //    "SR1B", "SR2B", "SR3B", "SR4B", "SR5B", "SR6B", "SR7B", "SR8B",
 //    "SR9B", "SR10B", "SR11B", "SR12B", "SR13B", "SR14B", "SR15B", "SR16B",
 //    "SR17B", "SR18B", "SR19B", "SR20B", "SR21B", "SR22B", "SR23B", "SR24B",
 //    "SR25B","SR26B",
    
 //    "SR1C", "SR2C", "SR3C", "SR4C", "SR5C", "SR6C", "SR7C", "SR8C"
 // }

  // _categs.assign(srs, srs+nCateg);
  // for(size_t ic=0;ic< _categs.size();ic++) {
  //   string cat=_categs[ic];
    md.makeSingleDataCard("SIGTAG", "nominal", "selected", "ssdl2015_CATTAG_SIGTAG_LUMTAG");
  // }

  gROOT->ProcessLine(".q");

}