CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFCandWithSuperClusterExtractor.h
Go to the documentation of this file.
1 #ifndef CommonToolsParticleFlow_PDCandWithSuperCluster_H
2 #define CommonToolsParticleFlow_PDCandWithSuperCluster_H
3 
4 #include <string>
5 #include <vector>
6 
7 
18 
19 
21 
22 public:
23 
26 
28 
29  virtual void fillVetos (const edm::Event & ev,
30  const edm::EventSetup & evSetup, const reco::TrackCollection & cand) { }
31 
32 
33  virtual reco::IsoDeposit deposit (const edm::Event & ev,
34  const edm::EventSetup & evSetup, const reco::Track & muon) const {
35  return depositFromObject(ev, evSetup, muon);
36  }
37 
38  virtual reco::IsoDeposit deposit (const edm::Event & ev,
39  const edm::EventSetup & evSetup, const reco::Candidate & cand) const {
40 
41  const reco::Photon * myPhoton= dynamic_cast<const reco::Photon*>(&cand);
42  if(myPhoton)
43  return depositFromObject(ev, evSetup,*myPhoton);
44 
45  const reco::GsfElectron * myElectron = dynamic_cast<const reco::GsfElectron*>(&cand);
46  if(myElectron)
47  return depositFromObject(ev,evSetup,*myElectron);
48 
49  const reco::PFCandidate * myPFCand = dynamic_cast<const reco::PFCandidate*>(&cand);
50  return depositFromObject(ev, evSetup,*myPFCand);
51  }
52 
53 private:
55 
57  const edm::EventSetup & evSetup, const reco::Photon &cand) const ;
58 
60  const edm::EventSetup & evSetup, const reco::GsfElectron &cand) const ;
61 
63  const edm::EventSetup & evSetup, const reco::Track &cand) const ;
64 
66  const edm::EventSetup & evSetup, const reco::PFCandidate &cand) const ;
67 
68  // Parameter set
69  edm::InputTag thePFCandTag; // Track Collection Label
70  std::string theDepositLabel; // name for deposit
71  bool theVetoSuperClusterMatch; //SuperClusterRef Check
72  bool theMissHitVetoSuperClusterMatch; // veto PF photons sharing SC with supercluster if misshits >0
73  double theDiff_r; // transverse distance to vertex
74  double theDiff_z; // z distance to vertex
75  double theDR_Max; // Maximum cone angle for deposits
76  double theDR_Veto; // Veto cone angle
77 };
78 
79 
80 #endif
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Candidate &cand) const
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &cand)
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
reco::IsoDeposit depositFromObject(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Photon &cand) const
reco::IsoDeposit::Veto veto(const reco::IsoDeposit::Direction &dir) const
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:35
dbl *** dir
Definition: mlp_gen.cc:35
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &muon) const