CMS 3D CMS Logo

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 
8 
19 
21 public:
24 
26 
27  void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &cand) override {}
28 
30  const edm::EventSetup &evSetup,
31  const reco::Track &muon) const override {
32  return depositFromObject(ev, evSetup, muon);
33  }
34 
36  const edm::EventSetup &evSetup,
37  const reco::Candidate &cand) const override {
38  const reco::Photon *myPhoton = dynamic_cast<const reco::Photon *>(&cand);
39  if (myPhoton)
40  return depositFromObject(ev, evSetup, *myPhoton);
41 
42  const reco::GsfElectron *myElectron = dynamic_cast<const reco::GsfElectron *>(&cand);
43  if (myElectron)
44  return depositFromObject(ev, evSetup, *myElectron);
45 
46  const reco::PFCandidate *myPFCand = dynamic_cast<const reco::PFCandidate *>(&cand);
47  return depositFromObject(ev, evSetup, *myPFCand);
48  }
49 
50 private:
52 
54  const edm::EventSetup &evSetup,
55  const reco::Photon &cand) const;
56 
58  const edm::EventSetup &evSetup,
59  const reco::GsfElectron &cand) const;
60 
62  const edm::EventSetup &evSetup,
63  const reco::Track &cand) const;
64 
66  const edm::EventSetup &evSetup,
67  const reco::PFCandidate &cand) const;
68 
69  // Parameter set
71  std::string theDepositLabel; // name for deposit
72  bool theVetoSuperClusterMatch; //SuperClusterRef Check
73  bool theMissHitVetoSuperClusterMatch; // veto PF photons sharing SC with supercluster if misshits >0
74  double theDiff_r; // transverse distance to vertex
75  double theDiff_z; // z distance to vertex
76  double theDR_Max; // Maximum cone angle for deposits
77  double theDR_Veto; // Veto cone angle
78 };
79 
80 #endif
PFCandWithSuperClusterExtractor
Definition: PFCandWithSuperClusterExtractor.h:20
PFCandWithSuperClusterExtractor::theDepositLabel
std::string theDepositLabel
Definition: PFCandWithSuperClusterExtractor.h:71
PFCandWithSuperClusterExtractor::theDiff_z
double theDiff_z
Definition: PFCandWithSuperClusterExtractor.h:75
muon
Definition: MuonCocktails.h:17
PFCandidate.h
edm::EDGetTokenT< reco::PFCandidateCollection >
reco::IsoDeposit::Veto
Definition: IsoDeposit.h:59
PFCandWithSuperClusterExtractor::veto
reco::IsoDeposit::Veto veto(const reco::IsoDeposit::Direction &dir) const
Definition: PFCandWithSuperClusterExtractor.cc:32
PFCandWithSuperClusterExtractor::theMissHitVetoSuperClusterMatch
bool theMissHitVetoSuperClusterMatch
Definition: PFCandWithSuperClusterExtractor.h:73
PFCandWithSuperClusterExtractor::PFCandWithSuperClusterExtractor
PFCandWithSuperClusterExtractor()
Definition: PFCandWithSuperClusterExtractor.h:22
PFCandWithSuperClusterExtractor::theDiff_r
double theDiff_r
Definition: PFCandWithSuperClusterExtractor.h:74
Photon.h
Track.h
TrackFwd.h
reco::Track
Definition: Track.h:27
PFCandWithSuperClusterExtractor::fillVetos
void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &cand) override
Definition: PFCandWithSuperClusterExtractor.h:27
PFCandWithSuperClusterExtractor::deposit
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &muon) const override
Definition: PFCandWithSuperClusterExtractor.h:29
reco::GsfElectron
Definition: GsfElectron.h:35
GsfElectron.h
PFCandWithSuperClusterExtractor::theDR_Veto
double theDR_Veto
Definition: PFCandWithSuperClusterExtractor.h:77
IsoDeposit.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
IsoDepositExtractor.h
PFCandWithSuperClusterExtractor::~PFCandWithSuperClusterExtractor
~PFCandWithSuperClusterExtractor() override
Definition: PFCandWithSuperClusterExtractor.h:25
edm::ParameterSet
Definition: ParameterSet.h:36
cand
Definition: decayParser.h:34
edm::EventSetup
Definition: EventSetup.h:57
reco::Candidate
Definition: Candidate.h:27
reco::Photon
Definition: Photon.h:21
PFCandWithSuperClusterExtractor::thePFCandToken
edm::EDGetTokenT< reco::PFCandidateCollection > thePFCandToken
Definition: PFCandWithSuperClusterExtractor.h:70
PFCandWithSuperClusterExtractor::theDR_Max
double theDR_Max
Definition: PFCandWithSuperClusterExtractor.h:76
reco::isodeposit::Direction
Definition: IsoDepositDirection.h:19
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
reco::IsoDeposit
Definition: IsoDeposit.h:49
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
ConsumesCollector.h
PFCandWithSuperClusterExtractor::depositFromObject
reco::IsoDeposit depositFromObject(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Photon &cand) const
Definition: PFCandWithSuperClusterExtractor.cc:39
reco::isodeposit::IsoDepositExtractor
Definition: IsoDepositExtractor.h:24
PFCandWithSuperClusterExtractor::theVetoSuperClusterMatch
bool theVetoSuperClusterMatch
Definition: PFCandWithSuperClusterExtractor.h:72
edm::Event
Definition: Event.h:73
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
PFCandWithSuperClusterExtractor::deposit
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Candidate &cand) const override
Definition: PFCandWithSuperClusterExtractor.h:35
PFCandidateFwd.h
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23