ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbb/plugins/Cuts/CutsExtra.h
Revision: 1.2
Committed: Thu Oct 4 12:05:59 2012 UTC (12 years, 7 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, HEAD
Changes since 1.1: +2 -3 lines
Log Message:
restructure of the function channel()

File Contents

# Content
1 #ifndef CUTSEXTRAS_H
2 #define CUTSEXTRAS_H
3 #include "../../interface/CutsAndHistos.h"
4 #include "../../interface/ntupleReader.hpp"
5 #include <TH1F.h>
6 #include <sstream>
7 #include "../../interface/samples.hpp"
8 #include "TKey.h"
9 #include "CutsSideBand-Pt50To100.h"
10
11 #define CSVM 0.679
12 #define CSVC 0.5 //custom btag
13 #define CSVL 0.244
14 #define CSVT 0.898
15 #define fA 0.46502
16 #define fB 0.53498
17
18 // New implementations of the control region
19 // The signal regions must be implemented incrementally since cutflow is needed
20
21
22 class BDTSideBandRegion_noBTag: public CutSample{
23 public:
24 BDTSideBandRegion_noBTag(int ch_= -1, int jec_= 0 , int btag_ = 0):
25 ch(ch_),jec(jec_),btag(btag_){ baseName = "BDTSideBandRegion_noBTag"; };
26 Bool_t pass(ntupleReader &p){
27 return ( p.hJet_PT(0,jec) > 20.
28 && p.hJet_PT(1,jec) > 20.
29 //Loose-Custom : ONLY FOR THE FIT for Scale Factors
30 /* && ( p.hJet_CSV(0,btag) > CSVC */
31 /* || p.hJet_CSV(1,btag) > CSVC ) */
32 // && p.Higgs(jec).Pt() > 100.
33 && p.V_pt < 100.
34 && p.V_pt > 50.
35 && p.V_mass > 75.
36 && p.V_mass < 105
37 && ( p.Higgs(jec).M() < 80.
38 || p.Higgs(jec).M() > 150. )
39 //sanity check
40 // && p.Higgs(jec).M() > 50.
41 && p.Higgs(jec).M() < 250.
42 // && p.CountAddJets() < 2
43 && qualityCuts( p ) );
44 }
45 Bool_t pass(ntupleReader &p, Sample &sample){
46 return ( sCut( p , sample ) == true && pass( p ) == true && channel( p, ch, sample) );
47 }
48 double weight(ntupleReader &p, Sample &sample) { return w( p, sample); }
49
50 private:
51 std::string name(){ return( generateName(baseName, ch, btag, jec) ) ;};
52 std::string baseName;
53 int btag;
54 int jec;
55 int ch;
56
57 };
58
59
60 #endif