1 |
tboccali |
1.1 |
#ifndef HBBCANDIDATEFINDERALGO_HH
|
2 |
|
|
#define HBBCANDIDATEFINDERALGO_HH
|
3 |
|
|
|
4 |
|
|
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbCandidate.h"
|
5 |
|
|
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h"
|
6 |
arizzi |
1.10 |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEventAuxInfo.h"
|
7 |
tboccali |
1.1 |
|
8 |
|
|
class HbbCandidateFinderAlgo {
|
9 |
|
|
public:
|
10 |
|
|
|
11 |
tboccali |
1.2 |
explicit HbbCandidateFinderAlgo(bool verbose, float jetPt, bool useH): verbose_(verbose), jetPtThreshold(jetPt),useHighestPtHiggs_(useH) {}
|
12 |
tboccali |
1.1 |
|
13 |
|
|
|
14 |
arizzi |
1.10 |
void run (const VHbbEvent*, std::vector<VHbbCandidate> &,const VHbbEventAuxInfo & aux);
|
15 |
tboccali |
1.1 |
|
16 |
arizzi |
1.3 |
VHbbCandidate changeHiggs(bool useHighestPtHiggs , const VHbbCandidate & old);
|
17 |
|
|
|
18 |
tboccali |
1.1 |
|
19 |
arizzi |
1.5 |
static bool jetID(const VHbbEvent::SimpleJet & );
|
20 |
tboccali |
1.1 |
|
21 |
tboccali |
1.2 |
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 |
arizzi |
1.9 |
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 |
arizzi |
1.6 |
|
25 |
|
|
protected:
|
26 |
tboccali |
1.1 |
|
27 |
arizzi |
1.10 |
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 |
tboccali |
1.1 |
void findMET(const VHbbEvent::METInfo& met, std::vector<VHbbEvent::METInfo>& out);
|
30 |
malbouis |
1.11 |
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 |
tboccali |
1.1 |
|
33 |
|
|
private:
|
34 |
|
|
bool verbose_;
|
35 |
tboccali |
1.2 |
float jetPtThreshold;
|
36 |
|
|
bool useHighestPtHiggs_;
|
37 |
tboccali |
1.1 |
|
38 |
|
|
|
39 |
|
|
};
|
40 |
|
|
|
41 |
|
|
#endif
|