CMS 3D CMS Logo

PdgIdPFCandidateSelectorDefinition.h
Go to the documentation of this file.
1 #ifndef CommonTools_ParticleFlow_PdgIdPFCandidateSelectorDefinition
2 #define CommonTools_ParticleFlow_PdgIdPFCandidateSelectorDefinition
3 
11 
12 namespace pf2pat {
13 
15  public:
17  : pdgIds_(cfg.getParameter<std::vector<int> >("pdgId")) {}
18 
19  void select(const HandleToCollection& hc, const edm::EventBase& e, const edm::EventSetup& s) {
20  selected_.clear();
21 
22  unsigned key = 0;
23  for (collection::const_iterator pfc = hc->begin(); pfc != hc->end(); ++pfc, ++key) {
24  for (unsigned iId = 0; iId < pdgIds_.size(); iId++) {
25  if (pfc->pdgId() == pdgIds_[iId]) {
26  selected_.push_back(reco::PFCandidate(*pfc));
27  reco::PFCandidatePtr ptrToMother(hc, key);
28  selected_.back().setSourceCandidatePtr(ptrToMother);
29  break;
30  }
31  }
32  }
33  }
34 
35  private:
36  std::vector<int> pdgIds_;
37  };
38 
39 } // namespace pf2pat
40 
41 #endif
PFCandidate.h
pf2pat
Definition: ElectronIDPFCandidateSelectorDefinition.h:22
pf2pat::PdgIdPFCandidateSelectorDefinition::PdgIdPFCandidateSelectorDefinition
PdgIdPFCandidateSelectorDefinition(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: PdgIdPFCandidateSelectorDefinition.h:16
pf2pat::PdgIdPFCandidateSelectorDefinition
Definition: PdgIdPFCandidateSelectorDefinition.h:14
EventBase.h
edm::Handle
Definition: AssociativeIterator.h:50
pf2pat::PdgIdPFCandidateSelectorDefinition::pdgIds_
std::vector< int > pdgIds_
Definition: PdgIdPFCandidateSelectorDefinition.h:36
alignCSCRings.s
s
Definition: alignCSCRings.py:92
pf2pat::PdgIdPFCandidateSelectorDefinition::select
void select(const HandleToCollection &hc, const edm::EventBase &e, const edm::EventSetup &s)
Definition: PdgIdPFCandidateSelectorDefinition.h:19
pf2pat::PFCandidateSelectorDefinition::selected_
container selected_
Definition: PFCandidateSelectorDefinition.h:33
PFCandidateSelectorDefinition.h
edm::ParameterSet
Definition: ParameterSet.h:47
createfilelist.int
int
Definition: createfilelist.py:10
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::EventSetup
Definition: EventSetup.h:58
edm::Ptr< PFCandidate >
looper.cfg
cfg
Definition: looper.py:297
std
Definition: JetResolutionObject.h:76
edm::EventBase
Definition: EventBase.h:46
EventSetup.h
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
ConsumesCollector.h
pf2pat::PFCandidateSelectorDefinition
Definition: PFCandidateSelectorDefinition.h:10
ParameterSet.h
crabWrapper.key
key
Definition: crabWrapper.py:19
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
PFCandidateFwd.h
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37