56 _patJetsToken ( consumes<
reco::
CandidateView> ( iConfig.getParameter<edm::InputTag>(
"patJets" ) ) ),
57 _patMuonsToken ( consumes<
reco::
CandidateView> ( iConfig.getParameter<edm::InputTag>(
"patMuons" ) ) ),
58 _patElectronsToken ( consumes<
reco::
CandidateView> ( iConfig.getParameter<edm::InputTag>(
"patElectrons" ) ) ),
59 _patPhotonsToken ( consumes<
reco::
CandidateView> ( iConfig.getParameter<edm::InputTag>(
"patPhotons" ) ) ),
60 _patTausToken ( consumes<
reco::
CandidateView> ( iConfig.getParameter<edm::InputTag>(
"patTaus" ) ) ),
62 _minJetEt ( iConfig.getParameter<double>(
"minJetEt") ),
63 _minMuonEt ( iConfig.getParameter<double>(
"minMuonEt") ),
64 _minElectronEt ( iConfig.getParameter<double>(
"minElectronEt") ),
65 _minTauEt ( iConfig.getParameter<double>(
"minTauEt") ),
66 _minPhotonEt ( iConfig.getParameter<double>(
"minPhotonEt") ),
68 _maxJetEta ( iConfig.getParameter<double>(
"maxJetEta") ),
69 _maxMuonEta ( iConfig.getParameter<double>(
"maxMuonEta") ),
70 _maxElectronEta ( iConfig.getParameter<double>(
"maxElectronEta") ),
71 _maxTauEta ( iConfig.getParameter<double>(
"maxTauEta") ),
72 _maxPhotonEta ( iConfig.getParameter<double>(
"maxPhotonEta") ),
74 _seedMethod ( iConfig.getParameter<int>(
"seedMethod") ),
75 _combinationMethod ( iConfig.getParameter<int>(
"combinationMethod") )
80 produces< std::vector<pat::Hemisphere> >();
126 for(
int i = 0;
i < (int) (*pJets).size() ;
i++){
132 for(
int i = 0;
i < (int) (*pMuons).size() ;
i++){
138 for(
int i = 0;
i < (int) (*pElectrons).size() ;
i++){
144 for(
int i = 0;
i < (int) (*pPhotons).size() ;
i++){
151 for(
int i = 0;
i < (int) (*pTaus).size() ;
i++){
158 std::auto_ptr< std::vector<Hemisphere> >
hemispheres(
new std::vector<Hemisphere>);;
159 hemispheres->reserve(2);
177 for (
unsigned int i=0;
i<
vgroups.size(); ++
i ) {
187 iEvent.
put(hemispheres);
edm::EDGetTokenT< reco::CandidateView > _patElectronsToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::vector< reco::CandidatePtr > componentPtrs_
std::vector< float > getAxis1()
std::vector< int > vgroups
edm::EDGetTokenT< reco::CandidateView > _patPhotonsToken
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::CandidateView > _patJetsToken
Input: All PAT objects that are to cross-clean or needed for that.
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< int > getGrouping()
PATHemisphereProducer(const edm::ParameterSet &)
edm::EDGetTokenT< reco::CandidateView > _patMuonsToken
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::vector< float > getAxis2()
edm::EDGetTokenT< reco::CandidateView > _patTausToken