ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/AnalysisFramework/Plotting/Modules/Setup.C
Revision: 1.47
Committed: Mon Nov 7 11:20:36 2011 UTC (13 years, 6 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.46: +6 -0 lines
Log Message:
Implemented flipping business

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 vector<float> flippedNobs;
91 vector<float> flippedNpred;
92 vector<float> flippedNprederr;
93
94 int noJES=0;
95 int JESdown=1;
96 int JESup=2;
97
98 //some refinement: nicer color gradient
99 Double_t stops[5] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
100 Double_t red[5] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
101 Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
102 Double_t blue[5] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
103 int fi=TColor::CreateGradientColorTable(5, stops, red, green,blue, 255);
104
105 // LIMITS
106 int nlimittoys=1000; // how many toys for setting limits
107 string limitmethod="cls";//what method to use to set limits
108 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.
109 bool ConsiderSignalContaminationForLimits=true; //whether or not to consider signal contamination when computing limits (standard:true)
110 int nuisancemodel=1;
111
112 float JZBPeakPositionData=-999;
113 float JZBPeakPositionMC=-999;
114 float JZBPeakWidthData=-999;
115 float JZBPeakWidthMC=-999;
116
117 // two possible future systematics that ATM only take up CPU time in SUSY scans
118 bool computeJZBefficiency=false;
119 bool computeJZBresponse=false;
120
121
122 //watch out, the cbafbasedir string is in GeneralToolBox
123 }