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 
29 
30 class PFTrackTransformer;
31 class GsfTrack;
32 class MagneticField;
33 class TrackerGeometry;
35 
37 
48 class PFElecTkProducer final : public edm::stream::EDProducer<edm::GlobalCache<convbremhelpers::HeavyObjectCache> > {
49  public:
50 
53 
54 
55  static std::unique_ptr<convbremhelpers::HeavyObjectCache>
57  return std::unique_ptr<convbremhelpers::HeavyObjectCache>(new convbremhelpers::HeavyObjectCache(conf));
58  }
59 
61  }
62 
65 
66  private:
67  virtual void beginRun(const edm::Run&,const edm::EventSetup&) override;
68  virtual void endRun(const edm::Run&,const edm::EventSetup&) override;
69 
71  virtual void produce(edm::Event&, const edm::EventSetup&) override;
72 
73 
74  int FindPfRef(const reco::PFRecTrackCollection & PfRTkColl,
75  const reco::GsfTrack&, bool);
76 
77 
78 
79  bool applySelection(const reco::GsfTrack&);
80 
81  bool resolveGsfTracks(const std::vector<reco::GsfPFRecTrack> &GsfPFVec,
82  unsigned int ngsf,
83  std::vector<unsigned int> &secondaries,
84  const reco::PFClusterCollection & theEClus);
85 
86  float minTangDist(const reco::GsfPFRecTrack& primGsf,
87  const reco::GsfPFRecTrack& secGsf);
88 
89  bool isSameEgSC(const reco::ElectronSeed& nSeed,
90  const reco::ElectronSeed& iSeed,
91  bool& bothGsfEcalDriven,
92  float& SCEnergy);
93 
94  bool isSharingEcalEnergyWithEgSC(const reco::GsfPFRecTrack& nGsfPFRecTrack,
95  const reco::GsfPFRecTrack& iGsfPFRecTrack,
96  const reco::ElectronSeed& nSeed,
97  const reco::ElectronSeed& iSeed,
98  const reco::PFClusterCollection& theEClus,
99  bool& bothGsfTrackerDriven,
100  bool& nEcalDriven,
101  bool& iEcalDriven,
102  float& nEnergy,
103  float& iEnergy);
104 
105  bool isInnerMost(const reco::GsfTrackRef& nGsfTrack,
106  const reco::GsfTrackRef& iGsfTrack,
107  bool& sameLayer);
108 
109  bool isInnerMostWithLostHits(const reco::GsfTrackRef& nGsfTrack,
110  const reco::GsfTrackRef& iGsfTrack,
111  bool& sameLayer);
112 
114  std::vector<reco::GsfPFRecTrack>& gsfPFRecTrackPrimary,
115  const std::map<unsigned int, std::vector<reco::GsfPFRecTrack> >& MapPrimSec);
116 
117  // ----------member data ---------------------------
130  bool useV0_;
134 
136  std::unique_ptr<PFTrackTransformer> pfTransformer_;
139  std::unique_ptr<ConvBremPFTrackFinder> convBremFinder_;
140 
141 
143  bool trajinev_;
145  bool applySel_;
149  // bool useFifthStepSec_;
151  double SCEne_;
152  double detaGsfSC_;
153  double dphiGsfSC_;
155 
158 
167 
168 };
169 #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_
static std::unique_ptr< convbremhelpers::HeavyObjectCache > initializeGlobalCache(const edm::ParameterSet &conf)
bool applySelection(const reco::GsfTrack &)
~PFElecTkProducer()
Destructor.
reco::GsfPFRecTrack secpftrack_
std::unique_ptr< ConvBremPFTrackFinder > convBremFinder_
edm::EDGetTokenT< reco::VertexCollection > primVtxLabel_
std::string path_mvaWeightFileConvBremBarrelHighPt_
const MultiTrajectoryStateMode * mtsMode_
double mvaConvBremFinderIDBarrelLowPt_
edm::EDGetTokenT< reco::PFV0Collection > pfV0_
std::string path_mvaWeightFileConvBremEndcapsHighPt_
edm::EDGetTokenT< reco::PFDisplacedTrackerVertexCollection > pfNuclear_
bool isSameEgSC(const reco::ElectronSeed &nSeed, const reco::ElectronSeed &iSeed, bool &bothGsfEcalDriven, float &SCEnergy)
bool isInnerMostWithLostHits(const reco::GsfTrackRef &nGsfTrack, const reco::GsfTrackRef &iGsfTrack, bool &sameLayer)
PFElecTkProducer(const edm::ParameterSet &, const convbremhelpers::HeavyObjectCache *)
Constructor.
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
std::unique_ptr< PFTrackTransformer > pfTransformer_
PFTrackTransformer.
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_
bool isSharingEcalEnergyWithEgSC(const reco::GsfPFRecTrack &nGsfPFRecTrack, const reco::GsfPFRecTrack &iGsfPFRecTrack, const reco::ElectronSeed &nSeed, const reco::ElectronSeed &iSeed, const reco::PFClusterCollection &theEClus, bool &bothGsfTrackerDriven, bool &nEcalDriven, bool &iEcalDriven, float &nEnergy, float &iEnergy)
Definition: Run.h:43
MultiTrajectoryStateTransform mtsTransform_
static void globalEndJob(convbremhelpers::HeavyObjectCache const *)
bool isInnerMost(const reco::GsfTrackRef &nGsfTrack, const reco::GsfTrackRef &iGsfTrack, bool &sameLayer)