ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/Setup.C
Revision: 1.9
Committed: Sun Mar 18 11:52:44 2012 UTC (13 years, 1 month ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.8: +3 -3 lines
Log Message:
Updated scan type

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