1 |
buchmann |
1.1 |
#include <iostream>
|
2 |
buchmann |
1.11 |
#include <fstream>
|
3 |
buchmann |
1.1 |
#include <TCut.h>
|
4 |
buchmann |
1.11 |
|
5 |
buchmann |
1.1 |
#ifndef SampleClassLoaded
|
6 |
|
|
#include "SampleClass.C"
|
7 |
|
|
#endif
|
8 |
buchmann |
1.5 |
#define SetupLoaded
|
9 |
buchmann |
1.1 |
|
10 |
|
|
using namespace std;
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
namespace PlottingSetup {
|
14 |
buchmann |
1.3 |
float luminosity=1078;//751.0;//486.0;//468.0//336.;//pb^{-1}
|
15 |
buchmann |
1.9 |
float lumiuncert=0.04;// to be indicated in [0,1] range, e.g. for 4% write 0.04
|
16 |
buchmann |
1.4 |
string jzbvariabledata="jzb[1]+0.06*pt";
|
17 |
|
|
string jzbvariablemc="jzb[1]+0.04*pt";
|
18 |
buchmann |
1.1 |
|
19 |
|
|
samplecollection allsamples("completesamplecollection");
|
20 |
buchmann |
1.9 |
samplecollection signalsamples("signalsamplecollection");
|
21 |
buchmann |
1.1 |
int data=1;
|
22 |
|
|
int mc=0;
|
23 |
|
|
int mcwithsignal=2;
|
24 |
|
|
TCut passtrig("(passed_triggers||!is_data)");
|
25 |
|
|
TCut cutmass("abs(mll-91.2)<20");
|
26 |
|
|
//TCut cutmass("mll>2");
|
27 |
|
|
TCut basiccut("mll>2");//basically nothing.
|
28 |
buchmann |
1.7 |
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.
|
29 |
buchmann |
1.1 |
//TCut jetqualitycut("(pfJetGoodNum>=2&&pfJetGoodID[0])&&(pfJetGoodNum>=2&&pfJetGoodID[1])");//now part of the basiccut
|
30 |
|
|
//TCut jetqualitycut("mll>0");
|
31 |
buchmann |
1.7 |
|
32 |
buchmann |
1.1 |
TCut cutnJets("pfJetGoodNum>=3"&&basicqualitycut);
|
33 |
buchmann |
1.7 |
TCut cutnJetsJESdown("pfJetGoodNum25>=3"&&basicqualitycut);
|
34 |
|
|
TCut cutnJetsJESup("pfJetGoodNum35>=3"&&basicqualitycut);
|
35 |
buchmann |
1.1 |
TCut cutOSOF("(id1!=id2)&&(ch1*ch2<0)");
|
36 |
|
|
TCut cutOSSF("(id1==id2)&&(ch1*ch2<0)");
|
37 |
buchmann |
1.5 |
TCut sidebandcut("(mll>55&&mll<70)||(mll>112&&mll<160)");
|
38 |
buchmann |
1.6 |
//TCut sidebandcut("(mll>61&&mll<70)||(mll>112&&mll<190)");
|
39 |
buchmann |
1.1 |
//TCut basiccut("(passed_triggers||!is_data)");
|
40 |
|
|
|
41 |
|
|
TCut essential(passtrig);//add here any cuts you ALWAYS want
|
42 |
|
|
int dogaus=0;
|
43 |
|
|
int doKM=1;
|
44 |
|
|
int dogaus2sigma=2;
|
45 |
|
|
int dogaus3sigma=3;
|
46 |
|
|
int Kostasmethod=-99;
|
47 |
|
|
|
48 |
|
|
float fitresultconstdata=0;//this is the result when fitting in the 0-30 GeV range!
|
49 |
|
|
float fitresultconstmc=0;//this is the result when fitting in the 0-30 GeV range!
|
50 |
|
|
|
51 |
|
|
int method=-1;
|
52 |
buchmann |
1.8 |
|
53 |
|
|
//now some style issues:
|
54 |
|
|
float DataMarkerSize=1.2;
|
55 |
buchmann |
1.10 |
|
56 |
|
|
//here we save our number of predicted and observed events (with errors)
|
57 |
|
|
vector<float> Nobs;
|
58 |
|
|
vector<float> Npred;
|
59 |
|
|
vector<float> Nprederr;
|
60 |
buchmann |
1.11 |
|
61 |
|
|
// Can use this in the future to redirect what we see on the screen to a file as well
|
62 |
|
|
// std::ofstream file((get_directory()+(string)"/LOG.txt").c_str() ) ;
|
63 |
|
|
// teestream cout( file, std::cout ) ;
|
64 |
buchmann |
1.1 |
}
|