5 |
|
|
6 |
|
// user include files |
7 |
|
#include "FWCore/Framework/interface/Frameworkfwd.h" |
8 |
< |
#include "FWCore/Framework/interface/EDProducer.h" |
8 |
> |
#include "FWCore/Framework/interface/EDFilter.h" |
9 |
|
|
10 |
|
#include "FWCore/Framework/interface/Event.h" |
11 |
|
#include "FWCore/Framework/interface/MakerMacros.h" |
25 |
|
#include "TTree.h" |
26 |
|
#include "TMath.h" |
27 |
|
|
28 |
– |
|
29 |
– |
|
30 |
– |
|
28 |
|
#include <TString.h> |
29 |
|
|
33 |
– |
#include "VHbbAnalysis/HbbAnalyzer/interface/VHbbCandidate.h" |
34 |
– |
#include "VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h" |
35 |
– |
|
36 |
– |
|
30 |
|
|
31 |
+ |
#include "VHbbAnalysis/VHbbDataFormats/interface/HbbCandidateFinderAlgo.h" |
32 |
+ |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbCandidate.h" |
33 |
+ |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h" |
34 |
|
|
35 |
|
// |
36 |
|
// class declaration |
38 |
|
|
39 |
|
|
40 |
|
|
41 |
< |
class HbbCandidateFinder : public edm::EDProducer { |
41 |
> |
class HbbCandidateFinder : public edm::EDFilter { |
42 |
|
|
43 |
|
public: |
44 |
|
explicit HbbCandidateFinder(const edm::ParameterSet&); |
45 |
|
~HbbCandidateFinder(); |
46 |
< |
void produce( edm::Event&, const edm::EventSetup& ); |
47 |
< |
|
48 |
< |
protected: |
49 |
< |
|
50 |
< |
float getDeltaTheta( VHbbEvent::SimpleJet * j1, VHbbEvent::SimpleJet * j2 ); |
46 |
> |
bool filter( edm::Event&, const edm::EventSetup& ); |
47 |
> |
|
48 |
> |
float getDeltaTheta( const VHbbEvent::SimpleJet & j1, const VHbbEvent::SimpleJet & j2 ) const ; |
49 |
> |
|
50 |
> |
|
51 |
> |
protected: |
52 |
> |
|
53 |
> |
void run (const VHbbEvent*, std::auto_ptr<std::vector<VHbbCandidate> > &); |
54 |
|
|
55 |
+ |
bool findDiJets (const std::vector<VHbbEvent::SimpleJet>& , VHbbEvent::SimpleJet& , VHbbEvent::SimpleJet& ,std::vector<VHbbEvent::SimpleJet>& ); |
56 |
+ |
|
57 |
+ |
// voif findVectorCandidate() |
58 |
+ |
|
59 |
+ |
|
60 |
+ |
void findMuons (const std::vector<VHbbEvent::MuonInfo>& muons, std::vector<VHbbEvent::MuonInfo>& out, std::vector<unsigned int>&); |
61 |
+ |
void findElectrons(const std::vector<VHbbEvent::ElectronInfo>& electrons, std::vector<VHbbEvent::ElectronInfo>& out, std::vector<unsigned int>&); |
62 |
+ |
void findMET(const VHbbEvent::METInfo& met, std::vector<VHbbEvent::METInfo>& out); |
63 |
+ |
|
64 |
|
private: |
65 |
|
virtual void beginJob() ; |
66 |
|
virtual void endJob() ; |
67 |
|
|
68 |
|
edm::InputTag vhbbevent_; |
69 |
< |
|
70 |
< |
|
69 |
> |
HbbCandidateFinderAlgo *algo_; |
70 |
> |
bool verbose_; |
71 |
> |
bool useHighestHiggs; |
72 |
> |
bool applyFilter; |
73 |
|
|
74 |
|
}; |
75 |
|
|