CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFElecTkProducer.h
Go to the documentation of this file.
1 #ifndef PFElecTkProducer_H
2 #define PFElecTkProducer_H
3 
18 
19 class PFTrackTransformer;
20 class GsfTrack;
21 class MagneticField;
22 class TrackerGeometry;
24 
26 
36  public:
37 
39  explicit PFElecTkProducer(const edm::ParameterSet&);
40 
43 
44  private:
45  virtual void beginRun(const edm::Run&,const edm::EventSetup&) override;
46  virtual void endRun(const edm::Run&,const edm::EventSetup&) override;
47 
49  virtual void produce(edm::Event&, const edm::EventSetup&) override;
50 
51 
52  int FindPfRef(const reco::PFRecTrackCollection & PfRTkColl,
53  const reco::GsfTrack&, bool);
54 
55  bool isFifthStep(reco::PFRecTrackRef pfKfTrack);
56 
57  bool applySelection(const reco::GsfTrack&);
58 
59  bool resolveGsfTracks(const std::vector<reco::GsfPFRecTrack> &GsfPFVec,
60  unsigned int ngsf,
61  std::vector<unsigned int> &secondaries,
62  const reco::PFClusterCollection & theEClus);
63 
64  float minTangDist(const reco::GsfPFRecTrack& primGsf,
65  const reco::GsfPFRecTrack& secGsf);
66 
67  bool isSameEgSC(const reco::ElectronSeedRef& nSeedRef,
68  const reco::ElectronSeedRef& iSeedRef,
69  bool& bothGsfEcalDriven,
70  float& SCEnergy);
71 
72  bool isSharingEcalEnergyWithEgSC(const reco::GsfPFRecTrack& nGsfPFRecTrack,
73  const reco::GsfPFRecTrack& iGsfPFRecTrack,
74  const reco::ElectronSeedRef& nSeedRef,
75  const reco::ElectronSeedRef& iSeedRef,
76  const reco::PFClusterCollection& theEClus,
77  bool& bothGsfTrackerDriven,
78  bool& nEcalDriven,
79  bool& iEcalDriven,
80  float& nEnergy,
81  float& iEnergy);
82 
83  bool isInnerMost(const reco::GsfTrackRef& nGsfTrack,
84  const reco::GsfTrackRef& iGsfTrack,
85  bool& sameLayer);
86 
87  bool isInnerMostWithLostHits(const reco::GsfTrackRef& nGsfTrack,
88  const reco::GsfTrackRef& iGsfTrack,
89  bool& sameLayer);
90 
92  std::vector<reco::GsfPFRecTrack>& gsfPFRecTrackPrimary,
93  const std::map<unsigned int, std::vector<reco::GsfPFRecTrack> >& MapPrimSec);
94 
95  // ----------member data ---------------------------
108  bool useV0_;
112 
118 
119 
121  bool trajinev_;
123  bool applySel_;
128  // bool useFifthStepSec_;
130  double SCEne_;
131  double detaGsfSC_;
132  double dphiGsfSC_;
134 
139 };
140 #endif
bool trajinev_
Trajectory of GSfTracks in the event?
void createGsfPFRecTrackRef(const edm::OrphanHandle< reco::GsfPFRecTrackCollection > &gsfPfHandle, std::vector< reco::GsfPFRecTrack > &gsfPFRecTrackPrimary, const std::map< unsigned int, std::vector< reco::GsfPFRecTrack > > &MapPrimSec)
ConvBremPFTrackFinder * convBremFinder_
std::string path_mvaWeightFileConvBrem_
bool isFifthStep(reco::PFRecTrackRef pfKfTrack)
bool applySelection(const reco::GsfTrack &)
~PFElecTkProducer()
Destructor.
reco::GsfPFRecTrack secpftrack_
edm::InputTag pfConv_
edm::InputTag gsfTrackLabel_
edm::InputTag primVtxLabel_
dictionary map
Definition: Association.py:205
PFTrackTransformer * pfTransformer_
PFTrackTransformer.
const MultiTrajectoryStateMode * mtsMode_
edm::InputTag pfV0_
bool isSameEgSC(const reco::ElectronSeedRef &nSeedRef, const reco::ElectronSeedRef &iSeedRef, bool &bothGsfEcalDriven, float &SCEnergy)
PFElecTkProducer(const edm::ParameterSet &)
Constructor.
edm::InputTag pfEcalClusters_
bool isInnerMostWithLostHits(const reco::GsfTrackRef &nGsfTrack, const reco::GsfTrackRef &iGsfTrack, bool &sameLayer)
virtual void endRun(const edm::Run &, const edm::EventSetup &) override
int FindPfRef(const reco::PFRecTrackCollection &PfRTkColl, const reco::GsfTrack &, bool)
bool resolveGsfTracks(const std::vector< reco::GsfPFRecTrack > &GsfPFVec, unsigned int ngsf, std::vector< unsigned int > &secondaries, const reco::PFClusterCollection &theEClus)
edm::InputTag pfTrackLabel_
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
reco::GsfPFRecTrack pftrack_
virtual void produce(edm::Event &, const edm::EventSetup &) override
Produce the PFRecTrack collection.
bool useConvBremFinder_
Conv Brem Finder.
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
bool isSharingEcalEnergyWithEgSC(const reco::GsfPFRecTrack &nGsfPFRecTrack, const reco::GsfPFRecTrack &iGsfPFRecTrack, const reco::ElectronSeedRef &nSeedRef, const reco::ElectronSeedRef &iSeedRef, const reco::PFClusterCollection &theEClus, bool &bothGsfTrackerDriven, bool &nEcalDriven, bool &iEcalDriven, float &nEnergy, float &iEnergy)
edm::InputTag pfNuclear_
edm::ParameterSet conf_
float minTangDist(const reco::GsfPFRecTrack &primGsf, const reco::GsfPFRecTrack &secGsf)
std::vector< PFRecTrack > PFRecTrackCollection
collection of PFRecTrack objects
Definition: PFRecTrackFwd.h:9
Definition: Run.h:36
MultiTrajectoryStateTransform mtsTransform_
bool isInnerMost(const reco::GsfTrackRef &nGsfTrack, const reco::GsfTrackRef &iGsfTrack, bool &sameLayer)