1 |
#ifndef HBBCANDIDATEFINDERALGO_HH
|
2 |
#define HBBCANDIDATEFINDERALGO_HH
|
3 |
|
4 |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbCandidate.h"
|
5 |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h"
|
6 |
|
7 |
class HbbCandidateFinderAlgo {
|
8 |
public:
|
9 |
|
10 |
explicit HbbCandidateFinderAlgo(bool verbose, float jetPt, bool useH): verbose_(verbose), jetPtThreshold(jetPt),useHighestPtHiggs_(useH) {}
|
11 |
|
12 |
|
13 |
void run (const VHbbEvent*, std::vector<VHbbCandidate> &);
|
14 |
|
15 |
VHbbCandidate changeHiggs(bool useHighestPtHiggs , const VHbbCandidate & old);
|
16 |
|
17 |
|
18 |
protected:
|
19 |
|
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 |
|
24 |
void findMuons (const std::vector<VHbbEvent::MuonInfo>& muons, std::vector<VHbbEvent::MuonInfo>& out);
|
25 |
void findElectrons(const std::vector<VHbbEvent::ElectronInfo>& electrons, std::vector<VHbbEvent::ElectronInfo>& out);
|
26 |
void findMET(const VHbbEvent::METInfo& met, std::vector<VHbbEvent::METInfo>& out);
|
27 |
|
28 |
private:
|
29 |
bool verbose_;
|
30 |
float jetPtThreshold;
|
31 |
bool useHighestPtHiggs_;
|
32 |
|
33 |
|
34 |
};
|
35 |
|
36 |
#endif
|