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 |
|
|
|
7 |
|
|
class HbbCandidateFinderAlgo {
|
8 |
|
|
public:
|
9 |
|
|
|
10 |
tboccali |
1.2 |
explicit HbbCandidateFinderAlgo(bool verbose, float jetPt, bool useH): verbose_(verbose), jetPtThreshold(jetPt),useHighestPtHiggs_(useH) {}
|
11 |
tboccali |
1.1 |
|
12 |
|
|
|
13 |
|
|
void run (const VHbbEvent*, std::vector<VHbbCandidate> &);
|
14 |
|
|
|
15 |
arizzi |
1.3 |
VHbbCandidate changeHiggs(bool useHighestPtHiggs , const VHbbCandidate & old);
|
16 |
|
|
|
17 |
tboccali |
1.1 |
|
18 |
|
|
protected:
|
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 |
tboccali |
1.1 |
|
24 |
tboccali |
1.4 |
void findMuons (const std::vector<VHbbEvent::MuonInfo>& muons, std::vector<VHbbEvent::MuonInfo>& out, std::vector<unsigned int>&);
|
25 |
|
|
void findElectrons(const std::vector<VHbbEvent::ElectronInfo>& electrons, std::vector<VHbbEvent::ElectronInfo>& out,std::vector<unsigned int>&);
|
26 |
tboccali |
1.1 |
void findMET(const VHbbEvent::METInfo& met, std::vector<VHbbEvent::METInfo>& out);
|
27 |
|
|
|
28 |
|
|
private:
|
29 |
|
|
bool verbose_;
|
30 |
tboccali |
1.2 |
float jetPtThreshold;
|
31 |
|
|
bool useHighestPtHiggs_;
|
32 |
tboccali |
1.1 |
|
33 |
|
|
|
34 |
|
|
};
|
35 |
|
|
|
36 |
|
|
#endif
|