ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/AnalysisFramework/Plotting/Modules/Setup.C
Revision: 1.39
Committed: Tue Sep 13 15:30:19 2011 UTC (13 years, 7 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Changes since 1.38: +4 -1 lines
Log Message:
Added a variable (RestrictToMassPeak) to switch off peak analysis option on and off; at the moment there are only warnings as placeholders in order to avoid any possible interference with the current (pre)approval workflow

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