ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/Setup.C
Revision: 1.43
Committed: Fri Jun 28 15:02:21 2013 UTC (11 years, 10 months ago) by buchmann
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.42: +2 -0 lines
Log Message:
Updated files for migration to git (sync)

File Contents

# Content
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 string directoryname="MetPlots53NewCR1";
22
23 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
25 bool UseSidebandsForcJZB=false;
26 bool FullMCAnalysis=false;
27 bool DoBTag=false;
28
29 // the 2012 switch is in GeneralToolBox
30
31 float luminosity=4980;//4653.74;//p3523.18;//2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
32 // 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 float lumiuncert=0.022;//0.045;// to be indicated in [0,1] range, e.g. for 4% write 0.04
35
36 //float luminosity2012=19490;//9200;
37 float luminosity2012=9200;//9200;
38 float lumiuncert2012=0.022;
39
40 // string jzbvariabledata="jzb[1]+0.06*pt";
41 // string jzbvariablemc="jzb[1]+0.04*pt";
42 string jzbvariabledata="(jzb[1]+0.062*pt)";
43 string jzbvariablemc="(jzb[1]+0.036*pt)";
44 float jzbHigh = 450.; // Range for JZB plots
45 float iMllLow = 20.; // Range for Edge Fitting (and mll plot) for iJZB
46 float iMllHigh = 300.; // Range for Edge Fitting (and mll plot) for iJZB
47
48 samplecollection allsamples("completesamplecollection");
49 samplecollection qcdsamples("QCDcollection");
50 samplecollection signalsamples("signalsamplecollection");
51 samplecollection systsamples("systematicssamplecollection");
52 samplecollection scansample("scansamplecollection");
53 samplecollection raresample("raresamplecollection");
54 samplecollection comparesamples("comparesamplecollection");
55 samplecollection SingleLeptonData("SingleLeptonData");
56 int data=1;
57 int mc=0;
58 int mcwithsignal=2;
59 TCut leptoncut("(abs(eta1)<1.4 && abs(eta2)<1.4 && pt1>20 && pt2>20)");
60 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);
61 // TCut passtrig("((passed_triggers ))"&&leptoncut);
62 // TCut passtrig(leptoncut);
63
64 TCut openmasscut("mll>20"); // this is the mass cut used in the off peak analysis!
65 TCut openGenmasscut("genMll>15");
66 TCut opensidebandcut("mll>500&&mll<100&&SIDEBANDS_CALLED_FOR_OFFPEAK_ANALYSIS"); // this won't let anything thru ...
67
68 TCut Restrmasscut("abs(mll-91)<10"); // this is the mass cut used in the on peak analysis!
69 TCut RestrGenmasscut("abs(genMll-91)<10");
70 TCut Restrsidebandcut("((mll>55&&mll<70)||(mll>112&&mll<160))");
71
72 TCut cutmass(Restrmasscut);
73 TCut genMassCut(RestrGenmasscut);
74
75 TCut bTagRequirement("bTagProbCSVBP[0]>0.679");
76
77 // WARNING: please also check ActiveSamples for 2012 settings
78 //TCut cutmass("mll>2");
79 // TCut basiccut("mll>2"&&leptoncut&&"(bTagProbTHighEff[0]>1.7)&&(bTagProbTHighEff[1]>1.7)");//basically nothing.
80 TCut basiccut("mll>2"&&leptoncut);//basically nothing
81 TCut basicqualitycut("(pfJetGoodNum40>=2&&pfJetGoodID[0]!=0)&&(pfJetGoodNum40>=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.
82
83 TCut cutnJets("pfJetGoodNum40>=3"&&basicqualitycut);
84 TCut cutnJetsJESdown("pfJetGoodNumn1sigma>=3"&&basicqualitycut);
85 TCut cutnJetsJESup("pfJetGoodNump1sigma>=3"&&basicqualitycut);
86 TCut cutOSOF("(id1!=id2)&&(ch1*ch2<0)");
87 TCut cutOSSF("(id1==id2)&&(ch1*ch2<0)");
88 TCut sidebandcut(Restrsidebandcut);
89
90 TCut TriLepSF("tri_id2==tri_id3");
91 TCut TriLepOF("tri_id2!=tri_id3");
92
93
94 // SUSY scan parameters
95 float mglustart=25;float mgluend=1200;float mglustep=25;
96 float mLSPstart=25;float mLSPend=1200;float mLSPstep=25;
97
98 float m0start=0; float m0end=3000; float m0step=20;
99 float m12start=0; float m12end=1000; float m12step=20;
100
101 int ScanXzones=15; // number of zones in x for (mSUGRA) scans
102 int ScanYzones=15; // number of zones in y for (mSUGRA) scans
103
104 string mSUGRAxsFile="Plotting/Modules/external/msugra_m0_m12_10_0_1_NLO_1.0.txt";
105 string SMSReferenceXSFile="Plotting/Modules/external/reference_xSec_SMS-new.root";
106
107 //scan types:
108 int mSUGRA=1;
109 int SMS=2;
110 int GMSB=3;
111
112 TCut essential(passtrig);//add here any cuts you ALWAYS want
113 int dogaus=0;
114 int doKM=1;
115 int dogaus2sigma=2;
116 int dogaus3sigma=3;
117 int Kostasmethod=-99;
118
119 float fitresultconstdata=0;//this is the result when fitting in the 0-30 GeV range
120 float fitresultconstmc=0;//this is the result when fitting in the 0-30 GeV range
121
122 int method=-1;//Fitting method
123
124 //now some style issues:
125 float DataMarkerSize=1.2;
126
127 //here we save our number of predicted and observed events (with errors)
128 vector<float> Nobs;
129 vector<float> Npred;
130 vector<float> Nprederr;
131
132 //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
133 bool alwaysflip=false;
134 bool allowflipping=true;
135 vector<float> flippedNobs;
136 vector<float> flippedNpred;
137 vector<float> flippedNprederr;
138
139 int noJES=0;
140 int JESdown=1;
141 int JESup=2;
142
143 // Uncertainties ONPEAK
144 float zjetsestimateuncertONPEAK=0.2;
145 float emuncertONPEAK=0.10;
146 float emsidebanduncertONPEAK=0.10;
147 float eemmsidebanduncertONPEAK=0.10;
148
149 // Uncertainties OFFPEAK (iJZB)
150 float zjetsestimateuncertOFFPEAK=0.2;
151 float emuncertOFFPEAK=0.10;
152 float emsidebanduncertOFFPEAK=0.0;
153 float eemmsidebanduncertOFFPEAK=0.0;
154
155
156 //some refinement: nicer color gradient
157 Double_t stops[5] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
158 Double_t red[5] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
159 Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
160 Double_t blue[5] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
161 int fi=TColor::CreateGradientColorTable(5, stops, red, green,blue, 255);
162
163 // LIMITS
164 int nlimittoys=1000; // how many toys for setting limits
165 string limitmethod="cls";//what method to use to set limits
166 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
167 int limitpatienceCRAB=60;
168 bool ConsiderSignalContaminationForLimits=true; //whether or not to consider signal contamination when computing limits (standard:true)
169 int nuisancemodel=1;
170
171 float JZBPeakPositionData=-999;
172 float JZBPeakPositionMC=-999;
173 float JZBPeakWidthData=-999;
174 float JZBPeakWidthMC=-999;
175
176 // two possible future systematics that ATM only take up CPU time in SUSY scans
177 bool computeJZBefficiency=false;
178 bool computeJZBresponse=false;
179
180 bool requireZ=true;//this is switched to "off" automatically when doing offpeak!
181
182 // string ScanSampleDirectory="SMS_T5zzh_newslots";//DileptonmSUGRAScan__pieces
183
184 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"
185 // 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"
186
187 string FilterEfficiencyFile = "/shome/buchmann/JellyfishCBAF/DistributedModelCalculations/Limits/FilterEfficiencyv3.root";
188 string CMSSW_dir = "/shome/buchmann/final_production_2011/CMSSW_4_2_8/src/";
189
190 ResultLibrary allresults;
191
192 bool IsZbAnalysis=false;
193 bool IsWZAnalysis=false;
194 bool IsJZBAnalysis=true;
195
196 int do_CleanCache=false;
197 }