ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/VHbbAnalysisCode/interface/VHbbCandidateCutSets.h
Revision: 1.3
Committed: Tue Mar 27 23:50:44 2012 UTC (13 years, 1 month ago) by grimes
Content type: text/plain
Branch: MAIN
Changes since 1.2: +15 -2 lines
Log Message:
Various improvements.

File Contents

# User Rev Content
1 grimes 1.1 #ifndef trkupgradeanalysis_VHbbCandidateCutSets_h
2     #define trkupgradeanalysis_VHbbCandidateCutSets_h
3    
4     #include "TrkUpgradeAnalysis/VHbb/interface/ICutSet.h"
5     #include "TrkUpgradeAnalysis/VHbb/interface/IBasicVHbbCandidateCut.h"
6    
7     // Forward declarations
8     class VHbbCandidate;
9    
10     namespace trkupgradeanalysis
11     {
12     class VHbbCandidateCutSet : public trkupgradeanalysis::ICutSet
13     {
14     public:
15     VHbbCandidateCutSet();
16     virtual ~VHbbCandidateCutSet();
17    
18     // These are methods from CutSet that are being implemented. Note that "name" is not being
19     // implemented so this class is still abstract.
20     size_t numberOfCuts() const;
21     bool allCutsPassed() const;
22     bool cutNPassed( size_t cutNumber ) const;
23     bool everythingOtherThanCutNPassed( size_t cutNumber ) const;
24     const trkupgradeanalysis::IBasicCut& cutAt( size_t a ) const;
25    
26     // Add a method to apply cuts on a VHbbCandidate
27     virtual bool applyCuts( const VHbbCandidate& vhbbCandidate );
28 grimes 1.2 virtual std::string name() const;
29 grimes 1.1 protected:
30     std::vector<trkupgradeanalysis::IBasicVHbbCandidateCut*> basicCuts_;
31     bool allCutsPassed_;
32     std::vector<bool> cutsPassed_;
33 grimes 1.2 std::string name_;
34 grimes 1.1 };
35    
36     class SignalSelectionZee : public VHbbCandidateCutSet
37     {
38     public:
39 grimes 1.3 SignalSelectionZee( float centralMass );
40     SignalSelectionZee( float lowerMass, float upperMass );
41 grimes 1.1 };
42    
43     class SignalSelectionZmumu : public VHbbCandidateCutSet
44     {
45     public:
46 grimes 1.3 SignalSelectionZmumu( float centralMass );
47     SignalSelectionZmumu( float lowerMass, float upperMass );
48 grimes 1.1 };
49    
50    
51     class SignalSelectionWen : public VHbbCandidateCutSet
52     {
53     public:
54     SignalSelectionWen( float mass );
55     };
56    
57     class SignalSelectionWmun : public VHbbCandidateCutSet
58     {
59     public:
60     SignalSelectionWmun( float mass );
61     };
62    
63     /** @brief All of the cuts in SignalSelectionZmumu except for the additonal jets less than 2 cut.
64     *
65     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
66     * @date 30/Jan/2012
67     */
68     class SignalSelectionZmumuWithoutAdditionalJetsCut : public VHbbCandidateCutSet
69     {
70     public:
71     SignalSelectionZmumuWithoutAdditionalJetsCut( float mass );
72     };
73    
74 grimes 1.3 /** @brief All of the cuts in SignalSelectionZmumu except that the order of the CSV cuts is switched.
75     *
76     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
77     * @date 27/Feb/2012
78     */
79     class SignalSelectionZmumuWithCSVCutsSwitched : public VHbbCandidateCutSet
80     {
81     public:
82     SignalSelectionZmumuWithCSVCutsSwitched( float mass );
83     SignalSelectionZmumuWithCSVCutsSwitched( float lowerMass, float upperMass );
84     };
85 grimes 1.1
86    
87    
88     /** @brief Straight copy of the VlightRegionHWmun cut in the VHllbb analysis framework.
89     *
90     * Note that it doesn't cut on the trigger because that information is not stored in
91     * VHbbCandidate, which this class operates on.
92     *
93     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
94     * @date 26/Nov/2011
95     */
96     class VlightRegionHWmun : public VHbbCandidateCutSet
97     {
98     public:
99     VlightRegionHWmun();
100     };
101    
102    
103     class VlightRegionHWen : public VHbbCandidateCutSet
104     {
105     public:
106     VlightRegionHWen();
107     };
108    
109    
110     class VlightRegionHZmumu : public VHbbCandidateCutSet
111     {
112     public:
113     VlightRegionHZmumu();
114     };
115    
116    
117     class VlightRegionHZee : public VHbbCandidateCutSet
118     {
119     public:
120     VlightRegionHZee();
121     };
122    
123    
124     class TTbarRegionHWmun : public VHbbCandidateCutSet
125     {
126     public:
127     TTbarRegionHWmun();
128     };
129    
130    
131     class TTbarRegionHWen : public VHbbCandidateCutSet
132     {
133     public:
134     TTbarRegionHWen();
135     };
136    
137    
138     class TTbarRegionHZmumu : public VHbbCandidateCutSet
139     {
140     public:
141     TTbarRegionHZmumu();
142     };
143    
144    
145     class TTbarRegionHZee : public VHbbCandidateCutSet
146     {
147     public:
148     TTbarRegionHZee();
149     };
150    
151    
152     class VbbRegionHWmun : public VHbbCandidateCutSet
153     {
154     public:
155     VbbRegionHWmun();
156     };
157    
158    
159     class VbbRegionHWen : public VHbbCandidateCutSet
160     {
161     public:
162     VbbRegionHWen();
163     };
164    
165    
166     class VbbRegionHZmumu : public VHbbCandidateCutSet
167     {
168     public:
169     VbbRegionHZmumu();
170     };
171    
172    
173     class VbbRegionHZee : public VHbbCandidateCutSet
174     {
175     public:
176     VbbRegionHZee();
177     };
178    
179     } // end of namespace trkupgradeanalysis
180    
181    
182     #endif // end of "#ifndef trkupgradeanalysis_VHbbCandidateCutSets_h"
183