ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/AnalysisFramework/Plotting/Modules/Setup.C
Revision: 1.48
Committed: Mon Nov 7 15:23:24 2011 UTC (13 years, 6 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.47: +1 -0 lines
Log Message:
Added option to use flipping

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