ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/AnalysisFramework/Plotting/Modules/Setup.C
Revision: 1.36
Committed: Tue Sep 6 10:39:13 2011 UTC (13 years, 8 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.35: +4 -1 lines
Log Message:
Implemented an 'external' capsule called LimitCapsule to calculate the limits. If this capsule fails, it returns a non-zero exit code, prompting the script to run it again (up to five times).

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_2096";
18
19 float luminosity=2096.0;//1936;//751.0;//486.0;//468.0//336.;//pb^{-1}
20 float lumiuncert=0.045;// to be indicated in [0,1] range, e.g. for 4% write 0.04
21
22 string jzbvariabledata="jzb[1]+0.06*pt";
23 string jzbvariablemc="jzb[1]+0.04*pt";
24 float jzbHigh = 350.; // Range for JZB plots
25
26 samplecollection allsamples("completesamplecollection");
27 samplecollection signalsamples("signalsamplecollection");
28 samplecollection scansample("scansamplecollection");
29 int data=1;
30 int mc=0;
31 int mcwithsignal=2;
32 TCut passtrig("(passed_triggers||!is_data)");
33 TCut cutmass("abs(mll-91.2)<20");
34 //TCut cutmass("mll>2");
35 TCut basiccut("mll>2");//basically nothing.
36 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.
37 //TCut jetqualitycut("(pfJetGoodNum>=2&&pfJetGoodID[0])&&(pfJetGoodNum>=2&&pfJetGoodID[1])");//now part of the basiccut
38 //TCut jetqualitycut("mll>0");
39
40 TCut cutnJets("pfJetGoodNum>=3"&&basicqualitycut);
41 TCut cutnJetsJESdown("pfJetGoodNum25>=3"&&basicqualitycut);
42 TCut cutnJetsJESup("pfJetGoodNum35>=3"&&basicqualitycut);
43 TCut cutOSOF("(id1!=id2)&&(ch1*ch2<0)");
44 TCut cutOSSF("(id1==id2)&&(ch1*ch2<0)");
45 TCut sidebandcut("(mll>55&&mll<70)||(mll>112&&mll<160)");
46
47 //TCut sidebandcut("(mll>61&&mll<70)||(mll>112&&mll<190)");
48 //TCut basiccut("(passed_triggers||!is_data)");
49
50 // SUSY scan parameters
51 // float mglustart=25;float mgluend=1200;float mglustep=25; //guessed values for official file
52 // float mLSPstart=25;float mLSPend=1200;float mLSPstep=25; //guessed values for official file
53 float mglustart=25;float mgluend=1200;float mglustep=25;
54 float mLSPstart=25;float mLSPend=1200;float mLSPstep=25;
55
56 float m0start=20; float m0end=2000; float m0step=20;
57 float m12start=20; float m12end=760; float m12step=20;
58
59
60 TCut essential(passtrig);//add here any cuts you ALWAYS want
61 int dogaus=0;
62 int doKM=1;
63 int dogaus2sigma=2;
64 int dogaus3sigma=3;
65 int Kostasmethod=-99;
66
67 float fitresultconstdata=0;//this is the result when fitting in the 0-30 GeV range
68 float fitresultconstmc=0;//this is the result when fitting in the 0-30 GeV range
69
70 int method=-1;//Fitting method
71
72 //now some style issues:
73 float DataMarkerSize=1.2;
74
75 //here we save our number of predicted and observed events (with errors)
76 vector<float> Nobs;
77 vector<float> Npred;
78 vector<float> Nprederr;
79
80 int noJES=0;
81 int JESdown=1;
82 int JESup=2;
83
84 //some refinement: nicer color gradient
85 Double_t stops[5] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
86 Double_t red[5] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
87 Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
88 Double_t blue[5] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
89 int fi=TColor::CreateGradientColorTable(5, stops, red, green,blue, 255);
90
91 // LIMITS
92 int nlimittoys=1000; // how many toys for setting limits
93 string limitmethod="bayesian";//what method to use to set limits
94 int limitpatience=50; // 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.
95 bool ConsiderSignalContaminationForLimits=false; //whether or not to consider signal contamination when computing limits (standard:true)
96 int nuisancemodel=1;
97
98 float JZBPeakPositionData=-999;
99 float JZBPeakPositionMC=-999;
100 float JZBPeakWidthData=-999;
101 float JZBPeakWidthMC=-999;
102
103 //watch out, the cbafbasedir string is in GeneralToolBox
104 }