ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/HbbCandidateFinderAlgo.h
Revision: 1.11
Committed: Fri May 25 12:03:18 2012 UTC (12 years, 11 months ago) by malbouis
Content type: text/plain
Branch: MAIN
CVS Tags: tauCandV42, hbbsubstructDev_11, hbbsubstructDev_10, hbbsubstructDev_9, hbbsubstructDev_8, hbbsubstructDev_7, hbbsubstructDev_6, hbbsubstructDev_5, hbbsubstructDev_4, hbbsubstructDev_3, hbbsubstructDev_2, hbbsubstructDev_1, hbbsubstructDev, EDMV42_Step2_V4a, EDMV42_Step2_V4, EDMV42_Step2_V3, EDMV42_Step2_V2, EDMV42_Step2_V1, EdmV42, EdmV41alpha1, EdmV40alpha1, EdmV40alpha, EdmV33Jun12v2_consistent, Step2ForV33_v2, Step2ForV33_v1, EdmV33Jun12v2, EdmV33Jun12v1, Step2ForV32_v2, Step2ForV32_v1, Step2ForV32_v0
Branch point for: V42TauCandidate, hbbsubstructDevPostHCP
Changes since 1.10: +2 -0 lines
Log Message:
add back tau categorization code that was removed by mistake in Revision 1.21

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);
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>&);
22 bool findDiJetsHighestPt (const std::vector<VHbbEvent::SimpleJet>& , VHbbEvent::SimpleJet& , VHbbEvent::SimpleJet& ,std::vector<VHbbEvent::SimpleJet>&);
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