ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/interface/ReferenceSelection.h
Revision: 1.2
Committed: Thu May 24 17:56:51 2012 UTC (12 years, 11 months ago) by khahn
Content type: text/plain
Branch: MAIN
CVS Tags: synched2
Changes since 1.1: +40 -24 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 khahn 1.2 #ifndef REFERENCE2_SELECTION
2     #define REFERENCE2_SELECTION
3 khahn 1.1
4     // System headers
5     //
6     #include <vector> // STL vector class
7     #include <iostream> // standard I/O
8     #include <iomanip> // functions to format standard I/O
9     #include <fstream> // functions for file I/O
10     #include <string> // C++ string class
11     #include <sstream> // class for parsing strings
12     #include <assert.h>
13     #include <stdlib.h>
14     #include <getopt.h>
15     using namespace std;
16    
17     //
18     // ROOT headers
19     //
20     #include <TROOT.h> // access to gROOT, entry point to ROOT system
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 "EventHeader.h"
34     #include "Electron.h"
35     #include "Muon.h"
36     #include "PFCandidate.h"
37     #include "PFCandidateCol.h"
38     #include "RunLumiRangeMap.h"
39    
40     #include "ParseArgs.h"
41     #include "EventData.h"
42     #include "SelectionStatus.h"
43    
44 khahn 1.2 #define PASS_SKIM0 0
45 khahn 1.1 #define PASS_SKIM1 1
46 khahn 1.2 #define PASS_SKIM2 2
47     #define PASS_TRIGGER 3
48     #define PASS_ZCANDIDATE 4
49     #define PASS_GOODZ1 5
50     #define PASS_4L 6
51     #define PASS_ZZCANDIDATE 7
52     #define PASS_GOODZ2 8
53     #define PASS_ZZ_20_10 9
54     #define PASS_RESONANCE 10
55     #define PASS_m4l_GT_70 11
56     #define PASS_m4l_GT_100 12
57 khahn 1.1
58     EventData apply_HZZ4L_reference_selection(ControlFlags &ctrl, // input control
59 khahn 1.2 const mithep::EventHeader *info, // input event info
60     const mithep::Array<mithep::Vertex> * vtxArr ,
61     const mithep::Array<mithep::PFCandidate> *fPFCandidates,
62     #ifdef HACKED_RHOS
63     float rho,
64     #else
65     const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
66     #endif
67 khahn 1.1 const mithep::Array<mithep::Electron> *electronArr, // input electrons
68     SelectionStatus (*ElectronPreSelector)( ControlFlags &,
69     const mithep::Electron*,
70 khahn 1.2 const mithep::Vertex *),
71 khahn 1.1 SelectionStatus (*ElectronIDSelector)( ControlFlags &,
72     const mithep::Electron*,
73 khahn 1.2 const mithep::Vertex *),
74 khahn 1.1 SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
75     const mithep::Electron*,
76 khahn 1.2 const mithep::Vertex *,
77 khahn 1.1 const mithep::Array<mithep::PFCandidate> *,
78 khahn 1.2 #ifdef HACKED_RHOS
79     float rho,
80     #else
81     const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
82     #endif
83    
84 khahn 1.1 mithep::ElectronTools::EElectronEffectiveAreaTarget,
85     vector<const mithep::Muon*>,
86     vector<const mithep::Electron*> ),
87     const mithep::Array<mithep::Muon> *muonArr, // input muons
88     SelectionStatus (*MuonPreSelector)( ControlFlags &,
89     const mithep::Muon*,
90 khahn 1.2 const mithep::Vertex *,
91 khahn 1.1 const mithep::Array<mithep::PFCandidate> *),
92     SelectionStatus (*MuonIDSelector)( ControlFlags &,
93     const mithep::Muon*,
94 khahn 1.2 // const mithep::Vertex *),
95     const mithep::Vertex *,
96 khahn 1.1 const mithep::Array<mithep::PFCandidate> *),
97     SelectionStatus (*MuonIsoSelector)( ControlFlags &,
98     const mithep::Muon*,
99 khahn 1.2 const mithep::Vertex * ,
100 khahn 1.1 const mithep::Array<mithep::PFCandidate> *,
101 khahn 1.2 #ifdef HACKED_RHOS
102     float,
103     #else
104     const mithep::Array<mithep::PileupEnergyDensity> *,
105     #endif
106 khahn 1.1 mithep::MuonTools::EMuonEffectiveAreaTarget,
107     vector<const mithep::Muon*>,
108     vector<const mithep::Electron*> )
109     );
110     #endif