ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbb/plugins/Cuts/CutsDec13-2011Paper.h
Revision: 1.4
Committed: Wed Jun 6 14:25:08 2012 UTC (12 years, 11 months ago) by bortigno
Content type: text/plain
Branch: MAIN
CVS Tags: lhcp_UnblindFix, hcp_Unblind, lhcp_11April, LHCP_PreAppFixAfterFreeze, LHCP_PreAppFreeze, workingVersionAfterHCP, hcpApproval, hcpPreApp, ICHEP8TeV, ichep8TeV, HEAD
Changes since 1.3: +1 -1 lines
Log Message:
Fixes

File Contents

# User Rev Content
1 bortigno 1.1 #ifndef CUTSPAPER1211_H
2     #define CUTSPAPER1211_H
3 bortigno 1.2 #include "../../interface/CutsAndHistos.h"
4     #include "../../interface/ntupleReader.hpp"
5     #include "../../interface/samples.hpp"
6 bortigno 1.1 #include <TH1F.h>
7     #include <sstream>
8     #include "TKey.h"
9    
10     #define CSVM 0.679
11     #define CSVC 0.5 //custom btag
12     #define CSVL 0.244
13     #define CSVT 0.898
14     #define fA 0.46502
15     #define fB 0.53498
16    
17    
18     bool sCut( ntupleReader & p , Sample & sample ){
19 bortigno 1.4 return ( p.EVENT_json == true && p.hbhe == true );
20 bortigno 1.1 };
21    
22     std::string generateName( std::string & baseName, int btag = 0, int jec = 0 ) {
23     if( jec == 1 )
24     return ( "SystJecUP"+baseName );
25     else if( jec == -1 )
26     return ( "SystJecDOWN"+baseName );
27     else if( jec == 2 )
28     return ( "SystJerUP"+baseName );
29     else if( jec == -2 )
30     return ( "SystJerDOWN"+baseName );
31     if( btag == 1)
32     return ( "SystBtagUP"+baseName );
33     else if( btag == -1 )
34     return ( "SystBtagDOWN"+baseName );
35     else if( btag == 2 )
36     return ( "SystBtagFUP"+baseName );
37     else if( btag == -2 )
38     return ( "SystBtagFDOWN"+baseName );
39     else if( btag == 0 && jec == 0)
40     return baseName;
41     };
42    
43 bortigno 1.2 class CnCVlightControlRegionHZcomb: public CutSample {
44 bortigno 1.1 public:
45 bortigno 1.2 CnCVlightControlRegionHZcomb(int jec_=0, int btag_=0 ):
46     jec(jec_),btag(btag_){baseName="CnCVlightControlRegionHZcomb"; };
47 bortigno 1.1 Bool_t pass(ntupleReader &p){
48     return ( p.Vtype == 1
49     && p.V_mass > 75.
50     && p.V_mass < 105.
51     && p.V_pt > 100.
52     && p.Higgs(jec).M() < 250
53     && p.Higgs(jec).Pt() > 100.
54     && p.hJet_PT(0,jec) > 20.
55     && p.hJet_PT(1,jec) > 20.
56     && p.EVENT_json == true
57     && p.hbhe == true
58     && TMath::Abs( p.HVdPhi ) > 2.9
59     && p.CountAddJets() < 2
60     && !(p.hJet_CSV(0,btag) > CSVT || p.hJet_CSV(1,btag) > CSVT )
61 bortigno 1.2 && ( ( p.Vtype == 1 && ( p.triggerFlags[5] || p.triggerFlags[6] ) )
62     || ( p.Vtype == 0 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) );
63 bortigno 1.1 }
64     Bool_t pass(ntupleReader &p, Sample &sample){
65     return (sCut ( p, sample ) == true && pass(p) );
66     }
67     double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
68    
69     private:
70     std::string name(){ return( generateName(baseName, btag, jec) ) ;};
71     std::string baseName;
72     int btag;
73     int jec;
74    
75     };
76    
77    
78 bortigno 1.2 class CnCTTbarControlRegionHZcomb: public CutSample {
79 bortigno 1.1 public:
80 bortigno 1.2 CnCTTbarControlRegionHZcomb(int jec_=0, int btag_=0):
81     jec(jec_),btag(btag_){ baseName = "CnCTTbarControlRegionHZcomb";};
82 bortigno 1.1 Bool_t pass(ntupleReader &p){
83     return( ( p.V_mass > 105.
84     || p.V_mass < 75. )
85     && p.Higgs(jec).Pt() > 100.
86     //&& p.Higgs(jec).M() < 250
87     && p.hJet_PT(0,jec) > 20.
88     && p.hJet_PT(1,jec) > 20.
89     && (p.hJet_CSV(0,btag) > 0.5 && p.hJet_CSV(1,btag) > 0.5)
90     && (p.hJet_CSV(0,btag) > 0.898 || p.hJet_CSV(1,btag) > 0.898)
91     && p.EVENT_json == true
92     && p.hbhe == true
93     && ( ( p.Vtype == 1 && ( p.triggerFlags[5] || p.triggerFlags[6] ) )
94     || ( p.Vtype == 0 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) );
95     }
96     Bool_t pass(ntupleReader &p, Sample &sample){
97     return ( sCut( p, sample ) == true && pass( p ) );
98     }
99     double weight(ntupleReader &p, Sample &sample) {if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
100    
101     private:
102     std::string name(){ return( generateName(baseName, btag, jec) ) ;};
103     std::string baseName;
104     int btag;
105     int jec;
106    
107     };
108    
109 bortigno 1.2 class CnCVbbControlRegionHZcomb: public CutSample {
110 bortigno 1.1
111     public:
112 bortigno 1.2 CnCVbbControlRegionHZcomb(int jec_=0,int btag_=0):
113     jec(jec_),btag(btag_){ baseName = "CnCVbbControlRegionHZcomb";};
114 bortigno 1.1 Bool_t pass(ntupleReader &p){
115     return( p.V_mass > 75.
116     && p.V_mass < 105.
117     && p.V_pt > 0.
118     && p.Higgs(jec).Pt() > 0.
119     && p.hJet_PT(0,jec) > 20.
120     && p.hJet_PT(1,jec) > 20.
121     && ( p.hJet_CSV(0,btag) > CSVT
122     || p.hJet_CSV(1,btag) > CSVT )
123     && p.hJet_CSV(0,btag) > 0.5
124     && p.hJet_CSV(1,btag) > 0.5
125     && p.EVENT_json == true
126     && p.hbhe == true
127     && p.CountAddJets() < 2
128     // && p. MET_et < 30
129     && ( p.Higgs(jec).M() < 90
130     || p.Higgs(jec).M() > 145 )
131     && p.Higgs(jec).M() < 250
132     && TMath::Abs(p.HVdPhi) > 2.9
133     && ( ( p.Vtype == 1 && ( p.triggerFlags[5] || p.triggerFlags[6] ) )
134     || ( p.Vtype == 0 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) );
135     }
136     Bool_t pass(ntupleReader &p, Sample &sample){
137     return ( sCut( p, sample ) == true && pass( p ) );
138     }
139     double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
140    
141     private:
142     std::string name(){ return( generateName(baseName, btag, jec) ) ;};
143     std::string baseName;
144     int btag;
145     int jec;
146    
147     };
148    
149     class CnCSignalRegionHZcomb: public CutSample{
150     public:
151     CnCSignalRegionHZcomb(int jec_=0,int btag_=0):
152     jec(jec_), btag(btag_){ baseName = "CnCSignalRegionHZcomb";};
153     Bool_t pass(ntupleReader &p){
154     return ( p.V_mass > 75.
155     && p.V_mass < 105.
156     // this cut depends on the H mass here for 115
157     // && p.Higgs(jec).M() > 95.
158     // && p.Higgs(jec).M() < 125.
159     //////////
160     && p.V_pt > 100.
161     && p.Higgs(jec).Pt() > 100.
162     && ( p.hJet_CSV(0,btag) > 0.898
163     || p.hJet_CSV(1,btag) > 0.898 )
164     && p.hJet_CSV(0,btag) > 0.5
165     && p.hJet_CSV(1,btag) > 0.5
166     && p.hJet_PT(0,jec) > 20.
167     && p.hJet_PT(1,jec) > 20.
168     && TMath::Abs(p.HVdPhi) > 2.9
169     && p.EVENT_json == true
170     && p.hbhe == true
171     && p.CountAddJets() < 2
172     && ( ( p.Vtype == 1 && ( p.triggerFlags[5] || p.triggerFlags[6] ) )
173     || ( p.Vtype == 0 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) );
174     }
175     Bool_t pass(ntupleReader &p, Sample & sample){
176     return ( sCut(p, sample)==true && pass(p) ); }
177     double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
178    
179     private:
180     std::string name(){ return( generateName(baseName, btag, jec) ) ;};
181     std::string baseName;
182     int btag;
183     int jec;
184     };
185    
186     #endif