CMS 3D CMS Logo

EgammaHLTGsfTrackVarProducer.h
Go to the documentation of this file.
1 #ifndef RECOEGAMMA_EGAMMAHLTPRODUCERS_EGAMMAHLTGSFTRACKVARPRODUCER
2 #define RECOEGAMMA_EGAMMAHLTPRODUCERS_EGAMMAHLTGSFTRACKVARPRODUCER
3 
4 
5 // system include files
6 #include <memory>
7 
8 // user include files
15 
22 
25 
28 
30 
31 //this class is designed to calculate dEtaIn,dPhiIn gsf track - supercluster pairs
32 //it can take as input std::vector<Electron> which the gsf track-sc is already done
33 //or it can run over the std::vector<GsfTrack> directly in which case it will pick the smallest dEta,dPhi
34 //the dEta, dPhi do not have to be from the same track
35 //it can optionally set dEta, dPhi to 0 based on the number of tracks found
36 
37 namespace edm {
39 }
40 
42  private:
44  unsigned long long cacheIDTDGeom_;
45  unsigned long long cacheIDMagField_;
46 
49 
52 
53  public:
54  TrackExtrapolator():cacheIDTDGeom_(0),cacheIDMagField_(0),mtsTransform_(nullptr){}
56  ~TrackExtrapolator(){delete mtsTransform_;}
57  TrackExtrapolator* operator=(const TrackExtrapolator& rhs);
58 
59  void setup(const edm::EventSetup& iSetup);
60 
61  GlobalPoint extrapolateTrackPosToPoint(const reco::GsfTrack& gsfTrack,const GlobalPoint& pointToExtrapTo);
62  GlobalVector extrapolateTrackMomToPoint(const reco::GsfTrack& gsfTrack,const GlobalPoint& pointToExtrapTo);
63 
64  edm::ESHandle<TrackerGeometry> trackerGeomHandle()const{return trackerHandle_;}
65  const MultiTrajectoryStateTransform * mtsTransform()const{return mtsTransform_;}
66  const MultiTrajectoryStateMode* mtsMode()const{return &mtsMode_;}
67  };
68 
69  public:
71  ~EgammaHLTGsfTrackVarProducer() override;
72  void produce(edm::Event&, const edm::EventSetup&) override;
73  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
74 
75  private:
80 
86 };
87 
88 #endif
const MultiTrajectoryStateMode * mtsMode() const
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
const MultiTrajectoryStateTransform * mtsTransform() const
#define nullptr
const edm::EDGetTokenT< reco::RecoEcalCandidateCollection > recoEcalCandTag_
const edm::EDGetTokenT< reco::GsfTrackCollection > inputCollectionTag2_
const edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
edm::ESHandle< TrackerGeometry > trackerGeomHandle() const
const edm::EDGetTokenT< reco::ElectronCollection > inputCollectionTag1_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HLT enums.