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
6 
27 
28 class PFTrackTransformer;
29 class GsfTrack;
30 class MagneticField;
31 class TrackerGeometry;
33 
35 
44 class PFElecTkProducer final : public edm::stream::EDProducer<> {
45  public:
46 
48  explicit PFElecTkProducer(const edm::ParameterSet&);
49 
52 
53  private:
54  virtual void beginRun(const edm::Run&,const edm::EventSetup&) override;
55  virtual void endRun(const edm::Run&,const edm::EventSetup&) override;
56 
58  virtual void produce(edm::Event&, const edm::EventSetup&) override;
59 
60 
61  int FindPfRef(const reco::PFRecTrackCollection & PfRTkColl,
62  const reco::GsfTrack&, bool);
63 
64  bool isFifthStep(reco::PFRecTrackRef pfKfTrack);
65 
66  bool applySelection(const reco::GsfTrack&);
67 
68  bool resolveGsfTracks(const std::vector<reco::GsfPFRecTrack> &GsfPFVec,
69  unsigned int ngsf,
70  std::vector<unsigned int> &secondaries,
71  const reco::PFClusterCollection & theEClus);
72 
73  float minTangDist(const reco::GsfPFRecTrack& primGsf,
74  const reco::GsfPFRecTrack& secGsf);
75 
76  bool isSameEgSC(const reco::ElectronSeedRef& nSeedRef,
77  const reco::ElectronSeedRef& iSeedRef,
78  bool& bothGsfEcalDriven,
79  float& SCEnergy);
80 
81  bool isSharingEcalEnergyWithEgSC(const reco::GsfPFRecTrack& nGsfPFRecTrack,
82  const reco::GsfPFRecTrack& iGsfPFRecTrack,
83  const reco::ElectronSeedRef& nSeedRef,
84  const reco::ElectronSeedRef& iSeedRef,
85  const reco::PFClusterCollection& theEClus,
86  bool& bothGsfTrackerDriven,
87  bool& nEcalDriven,
88  bool& iEcalDriven,
89  float& nEnergy,
90  float& iEnergy);
91 
92  bool isInnerMost(const reco::GsfTrackRef& nGsfTrack,
93  const reco::GsfTrackRef& iGsfTrack,
94  bool& sameLayer);
95 
96  bool isInnerMostWithLostHits(const reco::GsfTrackRef& nGsfTrack,
97  const reco::GsfTrackRef& iGsfTrack,
98  bool& sameLayer);
99 
101  std::vector<reco::GsfPFRecTrack>& gsfPFRecTrackPrimary,
102  const std::map<unsigned int, std::vector<reco::GsfPFRecTrack> >& MapPrimSec);
103 
104  // ----------member data ---------------------------
117  bool useV0_;
121 
127 
128 
130  bool trajinev_;
132  bool applySel_;
136  // bool useFifthStepSec_;
138  double SCEne_;
139  double detaGsfSC_;
140  double dphiGsfSC_;
142 
145 
154 
155 };
156 #endif
bool trajinev_
Trajectory of GSfTracks in the event?
edm::EDGetTokenT< reco::PFRecTrackCollection > pfTrackLabel_
edm::EDGetTokenT< reco::GsfTrackCollection > gsfTrackLabel_
void createGsfPFRecTrackRef(const edm::OrphanHandle< reco::GsfPFRecTrackCollection > &gsfPfHandle, std::vector< reco::GsfPFRecTrack > &gsfPFRecTrackPrimary, const std::map< unsigned int, std::vector< reco::GsfPFRecTrack > > &MapPrimSec)
double mvaConvBremFinderIDEndcapsLowPt_
std::string path_mvaWeightFileConvBremEndcapsLowPt_
ConvBremPFTrackFinder * convBremFinder_
bool isFifthStep(reco::PFRecTrackRef pfKfTrack)
bool applySelection(const reco::GsfTrack &)
~PFElecTkProducer()
Destructor.
reco::GsfPFRecTrack secpftrack_
edm::EDGetTokenT< reco::VertexCollection > primVtxLabel_
std::string path_mvaWeightFileConvBremBarrelHighPt_
PFTrackTransformer * pfTransformer_
PFTrackTransformer.
const MultiTrajectoryStateMode * mtsMode_
double mvaConvBremFinderIDBarrelLowPt_
bool isSameEgSC(const reco::ElectronSeedRef &nSeedRef, const reco::ElectronSeedRef &iSeedRef, bool &bothGsfEcalDriven, float &SCEnergy)
PFElecTkProducer(const edm::ParameterSet &)
Constructor.
edm::EDGetTokenT< reco::PFV0Collection > pfV0_
std::string path_mvaWeightFileConvBremEndcapsHighPt_
edm::EDGetTokenT< reco::PFDisplacedTrackerVertexCollection > pfNuclear_
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)
std::string path_mvaWeightFileConvBremBarrelLowPt_
bool resolveGsfTracks(const std::vector< reco::GsfPFRecTrack > &GsfPFVec, unsigned int ngsf, std::vector< unsigned int > &secondaries, const reco::PFClusterCollection &theEClus)
double mvaConvBremFinderIDBarrelHighPt_
double mvaConvBremFinderIDEndcapsHighPt_
edm::EDGetTokenT< reco::PFConversionCollection > pfConv_
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::ParameterSet conf_
float minTangDist(const reco::GsfPFRecTrack &primGsf, const reco::GsfPFRecTrack &secGsf)
std::vector< PFRecTrack > PFRecTrackCollection
collection of PFRecTrack objects
Definition: PFRecTrackFwd.h:9
edm::EDGetTokenT< reco::PFClusterCollection > pfEcalClusters_
Definition: Run.h:41
MultiTrajectoryStateTransform mtsTransform_
bool isInnerMost(const reco::GsfTrackRef &nGsfTrack, const reco::GsfTrackRef &iGsfTrack, bool &sameLayer)