ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/interface/Selection.h
(Generate patch)

Comparing UserCode/MitHzz4l/Selection/interface/Selection.h (file contents):
Revision 1.5 by khahn, Mon Oct 17 16:23:42 2011 UTC vs.
Revision 1.11 by khahn, Sat May 5 21:43:55 2012 UTC

# Line 18 | Line 18 | using namespace std;
18   // ROOT headers
19   //
20   #include <TROOT.h>                  // access to gROOT, entry point to ROOT system
21 < #include <TTree.h>
21 > #include <TTree.h>
22 > #include <TFile.h>
23   #include <TChain.h>                 //
24   #include <TBranch.h>                // class to access branches in TTree
25   #include <TClonesArray.h>           // ROOT array class
26   #include <TLorentzVector.h>         // 4-vector class
27   #include <TVector3.h>               // 3D vector class
28 + #include <TH1D.h>
29  
30   //
31   // ntuple format headers
32   //
33 < #include "HiggsAnaDefs.hh"
34 < #include "TEventInfo.hh"
35 < #include "TElectron.hh"
36 < #include "TMuon.hh"
37 < #include "TJet.hh"
33 > #include "EventHeader.h"
34 > #include "Electron.h"
35 > #include "Muon.h"
36 > #include "PFCandidate.h"
37 > #include "PFCandidateCol.h"
38   #include "RunLumiRangeMap.h"
39  
38 //
39 // utility headers
40 //
41 #include "PassHLT.h"
40   #include "ParseArgs.h"
41 < #include "SimpleLepton.h"
42 < #include "MuonSelection.h"
45 < #include "HZZCiCElectronSelection.h"
46 < #include "Angles.h"
47 <
48 < //
49 < // defines
50 < //
51 < #define EVTFAIL_JSON       0
52 < #define EVTFAIL_TRIGGER    1
53 < #define EVTFAIL_Z1         2
54 < #define EVTFAIL_Z1_PLUSL   3
55 < #define EVTFAIL_4L         4
56 < #define EVTFAIL_ISOLATION  5
57 < #define EVTFAIL_IP         6
58 < #define EVTFAIL_KINEMATICS 7
59 <
60 < //i: 9cut: 0.275effB: 0.45364effS: 0.895138nsig: 344158ntot: 384475
61 < #define PFISO_ELE_TIGHT_EB_HIGHPT 0.275
62 < //i: 2cut: 0.45effB: 0.765236effS: 0.949037nsig: 364881ntot: 384475
63 < #define PFISO_ELE_LOOSE_EB_HIGHPT 0.45
64 <
65 < //i: 8cut: 0.3effB: 0.535408effS: 0.896676nsig: 143713ntot: 160273
66 < #define PFISO_ELE_TIGHT_TRANS_HIGHPT 0.3
67 < //i: 2cut: 0.45effB: 0.781833effS: 0.946179nsig: 151647ntot: 160273
68 < #define PFISO_ELE_LOOSE_TRANS_HIGHPT 0.45
69 <
70 < //i: 7cut: 0.325effB: 0.627641effS: 0.894936nsig: 212422ntot: 237360
71 < #define PFISO_ELE_TIGHT_EE_HIGHPT 0.325
72 < //i: 0cut: 0.5effB: 0.825242effS: 0.947497nsig: 224898ntot: 237360
73 < #define PFISO_ELE_LOOSE_EE_HIGHPT 0.5
74 <
75 <
76 < //i: 10cut: 0.25effB: 0.479756effS: 0.634297nsig: 9569ntot: 15086
77 < #define PFISO_ELE_TIGHT_EB_LOWPT    0.25
78 < //i: 8cut: 0.3effB: 0.576163effS: 0.680963nsig: 10273ntot: 15086
79 < #define PFISO_ELE_LOOSE_EB_LOWPT    0.3
80 <
81 < //i: 10cut: 0.25effB: 0.49514effS: 0.626184nsig: 8858ntot: 14146
82 < #define PFISO_ELE_TIGHT_TRANS_LOWPT 0.25
83 < //i: 8cut: 0.3effB: 0.584501effS: 0.682384nsig: 9653ntot: 14146
84 < #define PFISO_ELE_LOOSE_TRANS_LOWPT 0.3
85 <
86 < //i: 10cut: 0.25effB: 0.537894effS: 0.639738nsig: 18530ntot: 28965
87 < #define PFISO_ELE_TIGHT_EE_LOWPT    0.25
88 < //i: 8cut: 0.3effB: 0.618612effS: 0.691973nsig: 20043ntot: 28965
89 < #define PFISO_ELE_LOOSE_EE_LOWPT    0.3
90 <
91 <
92 <
93 < #define PFISO_MU_LOOSE_EB_HIGHPT 0.20
94 < #define PFISO_MU_LOOSE_EB_LOWPT 0.13
95 < #define PFISO_MU_LOOSE_EE_HIGHPT 0.20
96 < #define PFISO_MU_LOOSE_EE_LOWPT 0.13
97 <
98 < #define PFISO_MU_TIGHT_EB_HIGHPT 0.13
99 < #define PFISO_MU_TIGHT_EB_LOWPT 0.06
100 < #define PFISO_MU_TIGHT_EE_HIGHPT 0.09
101 < #define PFISO_MU_TIGHT_EE_LOWPT 0.05
102 <
103 <
104 <
105 <
106 < // Si's numbers
107 < /* #define PFISO_EB_HIGHPT   0.15 */
108 < /* #define PFISO_EB_LOWPT    0.18   */
109 < /* #define PFISO_EE_HIGHPT   0.1 */
110 < /* #define PFISO_EE_LOWPT    0.1 */
111 <
112 < //#define THEIR_EVENTS
113 <
114 < void initRunLumiRangeMap();
115 <
116 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
117 <                               mithep::TEventInfo *info,     // input event inof
118 <                               TClonesArray *electronArr,    // input electrons
119 <                               TClonesArray *muonArr,        // input muons
120 <                               double eventweight,           // weight
121 <                               TTree * passtuple );        // output ntuple
122 <
123 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
124 <                               mithep::TEventInfo *info,     // input event inof
125 <                               TClonesArray *electronArr,    // input electrons
126 <                               TClonesArray *muonArr,        // input muons
127 <                               double eventweight,           // weight
128 <                               LabVectors * l );
41 > #include "EventData.h"
42 > #include "SelectionStatus.h"
43  
44 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
45 <                               mithep::TEventInfo *info,     // input event inof
46 <                               TClonesArray *electronArr,    // input electrons
47 <                               TClonesArray *muonArr,        // input muons
48 <                               double eventweight,           // weight
49 <                               TTree * passtuple,          // output ntuple
50 <                               LabVectors * l);
44 > void fillVetoArrays( ControlFlags & ctrl,
45 >                     const mithep::Array<mithep::Muon> *muonArr,    
46 >                     vector< const mithep::Muon*>     & muonsToVeto,
47 >                     const mithep::Array<mithep::Electron> *electronArr,    
48 >                     vector< const mithep::Electron*> & electronsToVeto,
49 >                     const mithep::Vertex & vtx );
50 > EventData apply_HZZ4L_selection(ControlFlags &ctrl,           // input control
51 >                                const mithep::EventHeader *info,     // input event info
52 >                                const mithep::Vertex & fVertex,
53 >                                const mithep::Array<mithep::PFCandidate>  *fPFCandidates,
54 >                                const mithep::Array<mithep::PileupEnergyDensity> *,
55 >                                const mithep::Array<mithep::Electron> *electronArr,    // input electrons
56 >                                SelectionStatus (*ElectronPreSelector)( ControlFlags &,
57 >                                                                        const mithep::Electron*,
58 >                                                                        const mithep::Vertex &),
59 >                                SelectionStatus (*ElectronIDSelector)( ControlFlags &,
60 >                                                                       const mithep::Electron*,
61 >                                                                       const mithep::Vertex &),
62 >                                SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
63 >                                                                        const mithep::Electron*,
64 >                                                                        const mithep::Vertex & ,
65 >                                                                        const mithep::Array<mithep::PFCandidate> *,
66 >                                                                        const mithep::Array<mithep::PileupEnergyDensity> *,
67 >                                                                        mithep::ElectronTools::EElectronEffectiveAreaTarget,
68 >                                                                        vector<const mithep::Muon*>,
69 >                                                                        vector<const mithep::Electron*> ),
70 >                                const mithep::Array<mithep::Muon> *muonArr,    // input muons
71 >                                SelectionStatus (*MuonPreSelector)( ControlFlags &,
72 >                                                                    const mithep::Muon*,
73 >                                                                    const mithep::Vertex &,
74 >                                                                    const mithep::Array<mithep::PFCandidate> *),
75 >                                SelectionStatus (*MuonIDSelector)( ControlFlags &,
76 >                                                                   const mithep::Muon*,
77 >                                                                   // const mithep::Vertex &),
78 >                                                                   const mithep::Vertex &,
79 >                                                                   const mithep::Array<mithep::PFCandidate> *),
80 >                                SelectionStatus (*MuonIsoSelector)( ControlFlags &,
81 >                                                                    const mithep::Muon*,
82 >                                                                    const mithep::Vertex & ,
83 >                                                                    const mithep::Array<mithep::PFCandidate> *,
84 >                                                                    const mithep::Array<mithep::PileupEnergyDensity> *,
85 >                                                                    mithep::MuonTools::EMuonEffectiveAreaTarget,
86 >                                                                    vector<const mithep::Muon*>,
87 >                                                                    vector<const mithep::Electron*> )
88 >                                );        
89   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines