ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/Setup.C
Revision: 1.3
Committed: Thu Feb 9 16:01:04 2012 UTC (13 years, 2 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.2: +2 -2 lines
Log Message:
Reduced the number of scan zones to avoid running out of ram again

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     string directoryname="Results_With_4653ipb__Step8___AllInOne___PAPERMODE";
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     float luminosity=4653.74;//p3523.18;//2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
26     // float luminosity=3523.18;//2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
27     // float luminosity=2096.0;//3172.73;//2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
28     float lumiuncert=0.045;// to be indicated in [0,1] range, e.g. for 4% write 0.04
29    
30     string jzbvariabledata="jzb[1]+0.06*pt";
31     string jzbvariablemc="jzb[1]+0.04*pt";
32     float jzbHigh = 400.; // Range for JZB plots
33    
34     samplecollection allsamples("completesamplecollection");
35     samplecollection signalsamples("signalsamplecollection");
36     samplecollection systsamples("systematicssamplecollection");
37     samplecollection scansample("scansamplecollection");
38     samplecollection raresample("raresamplecollection");
39     int data=1;
40     int mc=0;
41     int mcwithsignal=2;
42     TCut passtrig("(passed_triggers||!is_data)");
43     TCut cutmass("abs(mll-91.2)<20");
44     TCut genMassCut("abs(genMll-91.2)<20");
45     TCut openmasscut("mll>40"); // this is the mass cut used in the off peak analysis!
46     TCut openGenmasscut("genMll>40");
47     //TCut cutmass("mll>2");
48     TCut basiccut("mll>2");//basically nothing.
49     TCut basicqualitycut("(pfJetGoodNum>=2&&pfJetGoodID[0]!=0)&&(pfJetGoodNum>=2&&pfJetGoodID[1]!=0)");//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.
50     //TCut jetqualitycut("(pfJetGoodNum>=2&&pfJetGoodID[0])&&(pfJetGoodNum>=2&&pfJetGoodID[1])");//now part of the basiccut
51     //TCut jetqualitycut("mll>0");
52    
53     TCut cutnJets("pfJetGoodNum>=3"&&basicqualitycut);
54     TCut cutnJetsJESdown("pfJetGoodNum25>=3"&&basicqualitycut);
55     TCut cutnJetsJESup("pfJetGoodNum35>=3"&&basicqualitycut);
56     TCut cutOSOF("(id1!=id2)&&(ch1*ch2<0)");
57     TCut cutOSSF("(id1==id2)&&(ch1*ch2<0)");
58     TCut sidebandcut("(mll>55&&mll<70)||(mll>112&&mll<160)");
59    
60     // SUSY scan parameters
61     float mglustart=25;float mgluend=1200;float mglustep=25;
62     float mLSPstart=25;float mLSPend=1200;float mLSPstep=25;
63    
64 buchmann 1.2 float m0start=200; float m0end=3000; float m0step=20;
65     float m12start=100; float m12end=1000; float m12step=20;
66    
67 buchmann 1.3 int ScanXzones=10; // number of zones in x for (mSUGRA) scans
68     int ScanYzones=10; // number of zones in y for (mSUGRA) scans
69 buchmann 1.1
70     //scan types:
71     int mSUGRA=1;
72     int SMS=2;
73     int GMSB=3;
74    
75     TCut essential(passtrig);//add here any cuts you ALWAYS want
76     int dogaus=0;
77     int doKM=1;
78     int dogaus2sigma=2;
79     int dogaus3sigma=3;
80     int Kostasmethod=-99;
81    
82     float fitresultconstdata=0;//this is the result when fitting in the 0-30 GeV range
83     float fitresultconstmc=0;//this is the result when fitting in the 0-30 GeV range
84    
85     int method=-1;//Fitting method
86    
87     //now some style issues:
88     float DataMarkerSize=1.2;
89    
90     //here we save our number of predicted and observed events (with errors)
91     vector<float> Nobs;
92     vector<float> Npred;
93     vector<float> Nprederr;
94    
95     //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
96     bool alwaysflip=false;
97     vector<float> flippedNobs;
98     vector<float> flippedNpred;
99     vector<float> flippedNprederr;
100    
101     int noJES=0;
102     int JESdown=1;
103     int JESup=2;
104    
105     //some refinement: nicer color gradient
106     Double_t stops[5] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
107     Double_t red[5] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
108     Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
109     Double_t blue[5] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
110     int fi=TColor::CreateGradientColorTable(5, stops, red, green,blue, 255);
111    
112     // LIMITS
113     int nlimittoys=1000; // how many toys for setting limits
114     string limitmethod="cls";//what method to use to set limits
115     int limitpatience=15; // 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
116     int limitpatienceCRAB=60;
117     bool ConsiderSignalContaminationForLimits=true; //whether or not to consider signal contamination when computing limits (standard:true)
118     int nuisancemodel=1;
119    
120     float JZBPeakPositionData=-999;
121     float JZBPeakPositionMC=-999;
122     float JZBPeakWidthData=-999;
123     float JZBPeakWidthMC=-999;
124    
125     // two possible future systematics that ATM only take up CPU time in SUSY scans
126     bool computeJZBefficiency=false;
127     bool computeJZBresponse=false;
128    
129     bool requireZ=true;
130    
131     string ScanSampleDirectory="SMS_T5zz/"; // possibilities (atm) : SMS_T5zz/, SMS_T5zzl/, SMS_T5zzh/, GMSB/, mSUGRA/ note: this string needs to either contain "SMS", "GMSB", or "mSUGRA"
132    
133     ResultLibrary allresults;
134     }