ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/Setup.C
Revision: 1.38
Committed: Wed Dec 5 14:38:45 2012 UTC (12 years, 5 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.37: +7 -3 lines
Log Message:
Added analysis identifiers for sample grouping

File Contents

# User Rev Content
1 buchmann 1.1 #include <iostream>
2     #include <fstream>
3     #include <TCut.h>
4     #include <TColor.h>
5     #include <TStyle.h>
6    
7     #ifndef SampleClassLoaded
8     #include "SampleClass.C"
9     #endif
10     #define SetupLoaded
11     #ifndef ResultLibraryClassLoaded
12     #include "ResultLibraryClass.C"
13     #endif
14    
15    
16     using namespace std;
17    
18    
19     namespace PlottingSetup {
20    
21 buchmann 1.34 string directoryname="MetPlots53NewCR1";
22 buchmann 1.1
23 buchmann 1.19 bool RestrictToMassPeak=true; //if you want to switch between offpeak ("false") and onpeak ("true") analysis please use this switch; the masscut below will be adapted automatically when adding samples :-)
24 buchmann 1.27
25 buchmann 1.28 bool UseSidebandsForcJZB=true;
26 buchmann 1.17 bool FullMCAnalysis=false;
27 buchmann 1.18 bool DoBTag=false;
28 buchmann 1.1
29 buchmann 1.19 // the 2012 switch is in GeneralToolBox
30    
31 buchmann 1.10 float luminosity=4980;//4653.74;//p3523.18;//2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
32 buchmann 1.1 // float luminosity=3523.18;//2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
33     // float luminosity=2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
34 buchmann 1.10 float lumiuncert=0.022;//0.045;// to be indicated in [0,1] range, e.g. for 4% write 0.04
35 buchmann 1.19
36 buchmann 1.36 float luminosity2012=9200;
37 buchmann 1.19 float lumiuncert2012=0.022;
38 buchmann 1.1
39 buchmann 1.7 // string jzbvariabledata="jzb[1]+0.06*pt";
40     // string jzbvariablemc="jzb[1]+0.04*pt";
41 fronga 1.26 string jzbvariabledata="(jzb[1]+0.062*pt)";
42     string jzbvariablemc="(jzb[1]+0.036*pt)";
43 buchmann 1.24 float jzbHigh = 450.; // Range for JZB plots
44 buchmann 1.23 float iMllLow = 20.; // Range for Edge Fitting (and mll plot) for iJZB
45     float iMllHigh = 400.; // Range for Edge Fitting (and mll plot) for iJZB
46 buchmann 1.1
47     samplecollection allsamples("completesamplecollection");
48 buchmann 1.5 samplecollection qcdsamples("QCDcollection");
49 buchmann 1.1 samplecollection signalsamples("signalsamplecollection");
50     samplecollection systsamples("systematicssamplecollection");
51     samplecollection scansample("scansamplecollection");
52     samplecollection raresample("raresamplecollection");
53 fronga 1.31 samplecollection comparesamples("comparesamplecollection");
54 buchmann 1.1 int data=1;
55     int mc=0;
56     int mcwithsignal=2;
57 buchmann 1.38 TCut leptoncut("(abs(eta1)<2.4 && abs(eta2)<2.4 && pt1>20 && pt2>20)");
58     TCut passtrig("((passed_triggers * ( (id1==id2)*(id1==0)*(trigger_bit&1) + (id1==id2)*(id1==1)*(trigger_bit&2) + (id1!=id2)*(trigger_bit&4|trigger_bit&8) ) ||!is_data))"&&leptoncut);
59     // TCut passtrig(leptoncut);
60 buchmann 1.7
61 buchmann 1.35 TCut openmasscut("mll>20"); // this is the mass cut used in the off peak analysis!
62 buchmann 1.34 TCut openGenmasscut("genMll>15");
63     TCut opensidebandcut("mll>500&&mll<100&&SIDEBANDS_CALLED_FOR_OFFPEAK_ANALYSIS"); // this won't let anything thru ...
64 buchmann 1.7
65 buchmann 1.35 TCut Restrmasscut("abs(mll-91)<10"); // this is the mass cut used in the on peak analysis!
66     TCut RestrGenmasscut("abs(genMll-91)<10");
67 buchmann 1.7 TCut Restrsidebandcut("((mll>55&&mll<70)||(mll>112&&mll<160))");
68    
69     TCut cutmass(Restrmasscut);
70     TCut genMassCut(RestrGenmasscut);
71    
72 buchmann 1.21 TCut bTagRequirement("bTagProbCSVBP[0]>0.679");
73 buchmann 1.7
74 fronga 1.30 // WARNING: please also check ActiveSamples for 2012 settings
75 buchmann 1.1 //TCut cutmass("mll>2");
76 buchmann 1.13 // TCut basiccut("mll>2"&&leptoncut&&"(bTagProbTHighEff[0]>1.7)&&(bTagProbTHighEff[1]>1.7)");//basically nothing.
77     TCut basiccut("mll>2"&&leptoncut);//basically nothing
78 buchmann 1.7 TCut basicqualitycut("(pfJetGoodNum>=2&&pfJetGoodID[0]!=0)&&(pfJetGoodNum>=2&&pfJetGoodID[1]!=0)"&&basiccut);//don't use this for the "essential cut", because we want to plot nJets as well as mll in the inclusive case; we thus use it as an addition nJets cut.
79 buchmann 1.1
80 buchmann 1.35 TCut cutnJets("pfJetGoodNum40>=3"&&basicqualitycut);
81 buchmann 1.14 TCut cutnJetsJESdown("pfJetGoodNumn1sigma>=3"&&basicqualitycut);
82 buchmann 1.13 TCut cutnJetsJESup("pfJetGoodNump1sigma>=3"&&basicqualitycut);
83 buchmann 1.1 TCut cutOSOF("(id1!=id2)&&(ch1*ch2<0)");
84     TCut cutOSSF("(id1==id2)&&(ch1*ch2<0)");
85 buchmann 1.7 TCut sidebandcut(Restrsidebandcut);
86 buchmann 1.37
87     TCut TriLepSF("tri_id2==tri_id3");
88     TCut TriLepOF("tri_id2!=tri_id3");
89    
90 buchmann 1.1
91     // SUSY scan parameters
92     float mglustart=25;float mgluend=1200;float mglustep=25;
93     float mLSPstart=25;float mLSPend=1200;float mLSPstep=25;
94    
95 buchmann 1.7 float m0start=0; float m0end=3000; float m0step=20;
96     float m12start=0; float m12end=1000; float m12step=20;
97 buchmann 1.2
98 buchmann 1.7 int ScanXzones=15; // number of zones in x for (mSUGRA) scans
99     int ScanYzones=15; // number of zones in y for (mSUGRA) scans
100 buchmann 1.8
101 buchmann 1.16 string mSUGRAxsFile="Plotting/Modules/external/msugra_m0_m12_10_0_1_NLO_1.0.txt";
102 buchmann 1.15 string SMSReferenceXSFile="Plotting/Modules/external/reference_xSec_SMS-new.root";
103 buchmann 1.1
104     //scan types:
105     int mSUGRA=1;
106     int SMS=2;
107     int GMSB=3;
108    
109     TCut essential(passtrig);//add here any cuts you ALWAYS want
110     int dogaus=0;
111     int doKM=1;
112     int dogaus2sigma=2;
113     int dogaus3sigma=3;
114     int Kostasmethod=-99;
115    
116     float fitresultconstdata=0;//this is the result when fitting in the 0-30 GeV range
117     float fitresultconstmc=0;//this is the result when fitting in the 0-30 GeV range
118    
119     int method=-1;//Fitting method
120    
121     //now some style issues:
122     float DataMarkerSize=1.2;
123    
124     //here we save our number of predicted and observed events (with errors)
125     vector<float> Nobs;
126     vector<float> Npred;
127     vector<float> Nprederr;
128    
129     //here we save our "flipped" number of predicted and observed events (with errors) -- this means that we consider JZB<-X as observed and construct the corresponding prediction
130     bool alwaysflip=false;
131 buchmann 1.10 bool allowflipping=true;
132 buchmann 1.1 vector<float> flippedNobs;
133     vector<float> flippedNpred;
134     vector<float> flippedNprederr;
135    
136     int noJES=0;
137     int JESdown=1;
138     int JESup=2;
139    
140 buchmann 1.14 // Uncertainties ONPEAK
141 buchmann 1.35 float zjetsestimateuncertONPEAK=0.2;
142     float emuncertONPEAK=0.1;
143     float emsidebanduncertONPEAK=0.1;
144     float eemmsidebanduncertONPEAK=0.1;
145 buchmann 1.14
146     // Uncertainties OFFPEAK (iJZB)
147     float zjetsestimateuncertOFFPEAK=0.25;
148 buchmann 1.25 float emuncertOFFPEAK=0.1;
149 buchmann 1.14 float emsidebanduncertOFFPEAK=0.0;
150     float eemmsidebanduncertOFFPEAK=0.0;
151    
152    
153 buchmann 1.1 //some refinement: nicer color gradient
154     Double_t stops[5] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
155     Double_t red[5] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
156     Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
157     Double_t blue[5] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
158     int fi=TColor::CreateGradientColorTable(5, stops, red, green,blue, 255);
159    
160     // LIMITS
161     int nlimittoys=1000; // how many toys for setting limits
162     string limitmethod="cls";//what method to use to set limits
163 buchmann 1.12 int limitpatience=20; // for how many minutes should the limit calculation (for one configuration!) be allowed to run before being aborted? this only has an effect when when running on the t3 batch; the value for CRAB is on the next line
164 buchmann 1.1 int limitpatienceCRAB=60;
165     bool ConsiderSignalContaminationForLimits=true; //whether or not to consider signal contamination when computing limits (standard:true)
166     int nuisancemodel=1;
167    
168     float JZBPeakPositionData=-999;
169     float JZBPeakPositionMC=-999;
170     float JZBPeakWidthData=-999;
171     float JZBPeakWidthMC=-999;
172    
173     // two possible future systematics that ATM only take up CPU time in SUSY scans
174     bool computeJZBefficiency=false;
175     bool computeJZBresponse=false;
176    
177 buchmann 1.7 bool requireZ=true;//this is switched to "off" automatically when doing offpeak!
178 buchmann 1.16
179 buchmann 1.20 // string ScanSampleDirectory="SMS_T5zzh_newslots";//DileptonmSUGRAScan__pieces
180 buchmann 1.1
181 buchmann 1.20 string ScanSampleDirectory="DileptonmSUGRAScan__pieces"; // possibilities (atm) : SMS_T5zz/, SMS_T5zzl/, SMS_T5zzh/, GMSB/, mSUGRA/ note: this string needs to either contain "SMS", "GMSB", or "mSUGRA"
182 buchmann 1.16 // string ScanSampleDirectory="SMS_T1lh"; // possibilities (atm) : SMS_T5zz/, SMS_T5zzl/, SMS_T5zzh/, GMSB/, mSUGRA/ note: this string needs to either contain "SMS", "GMSB", or "mSUGRA"
183 buchmann 1.11
184     string FilterEfficiencyFile = "/shome/buchmann/JellyfishCBAF/DistributedModelCalculations/Limits/FilterEfficiencyv3.root";
185 buchmann 1.13 string CMSSW_dir = "/shome/buchmann/final_production_2011/CMSSW_4_2_8/src/";
186 buchmann 1.1
187     ResultLibrary allresults;
188 buchmann 1.38
189     bool IsZbAnalysis=false;
190     bool IsWZAnalysis=false;
191     bool IsJZBAnalysis=true;
192 buchmann 1.1 }