ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/HbbCandidateFinderAlgo.h
Revision: 1.13
Committed: Fri Apr 12 23:34:29 2013 UTC (12 years ago) by sdas
Content type: text/plain
Branch: MAIN
CVS Tags: EDMV42_Step2_V8, EDMV42_Step2_V7, HEAD
Changes since 1.12: +1 -1 lines
Error occurred while calculating annotation data.
Log Message:
Added functionality for retaining H(bb)H(bb) events. Configuration ntuple.py file needs isZbbHbb switch set to True if you intend to keep these events, not discard them like most VH(bb) analyses.

File Contents

# Content
1 #ifndef HBBCANDIDATEFINDERALGO_HH
2 #define HBBCANDIDATEFINDERALGO_HH
3
4 #include "VHbbAnalysis/VHbbDataFormats/interface/VHbbCandidate.h"
5 #include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h"
6 #include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEventAuxInfo.h"
7
8 class HbbCandidateFinderAlgo {
9 public:
10
11 explicit HbbCandidateFinderAlgo(bool verbose, float jetPt, bool useH): verbose_(verbose), jetPtThreshold(jetPt),useHighestPtHiggs_(useH) {}
12
13
14 void run (const VHbbEvent*, std::vector<VHbbCandidate> &,const VHbbEventAuxInfo & aux, bool isZbbHbb);
15
16 VHbbCandidate changeHiggs(bool useHighestPtHiggs , const VHbbCandidate & old);
17
18
19 static bool jetID(const VHbbEvent::SimpleJet & );
20
21 bool findDiJets (const std::vector<VHbbEvent::SimpleJet>& , VHbbEvent::SimpleJet& , VHbbEvent::SimpleJet& ,std::vector<VHbbEvent::SimpleJet>&, size_t * indices=0);
22 bool findDiJetsHighestPt (const std::vector<VHbbEvent::SimpleJet>& , VHbbEvent::SimpleJet& , VHbbEvent::SimpleJet& ,std::vector<VHbbEvent::SimpleJet>&, size_t * indices=0);
23 bool findFatJet (const std::vector<VHbbEvent::HardJet>& , const std::vector<VHbbEvent::SimpleJet>& , const std::vector<VHbbEvent::SimpleJet>&, VHbbEvent::HardJet& ,std::vector<VHbbEvent::SimpleJet>& , const std::vector<VHbbEvent::SimpleJet>& , std::vector<VHbbEvent::SimpleJet>&, const std::vector<VHbbEvent::MuonInfo>& muons, const std::vector<VHbbEvent::ElectronInfo>& electrons);
24
25 protected:
26
27 void findMuons (const std::vector<VHbbEvent::MuonInfo>& muons, std::vector<VHbbEvent::MuonInfo>& out, std::vector<unsigned int>&,const VHbbEventAuxInfo & aux);
28 void findElectrons(const std::vector<VHbbEvent::ElectronInfo>& electrons, std::vector<VHbbEvent::ElectronInfo>& out,std::vector<unsigned int>&,const VHbbEventAuxInfo & aux);
29 void findMET(const VHbbEvent::METInfo& met, std::vector<VHbbEvent::METInfo>& out);
30 void findTaus (const std::vector<VHbbEvent::TauInfo>& taus, std::vector<VHbbEvent::TauInfo>& out, std::vector<unsigned int>&);
31 void removeTauOverlapWithJets(const std::vector<VHbbEvent::TauInfo>& taus, const std::vector<VHbbEvent::SimpleJet>& jets, std::vector<VHbbEvent::TauInfo>& out, const std::vector<unsigned int>&,std::vector<unsigned int>&);
32
33 private:
34 bool verbose_;
35 float jetPtThreshold;
36 bool useHighestPtHiggs_;
37
38
39 };
40
41 #endif