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 
51 
52  public:
53  TrackExtrapolator():cacheIDTDGeom_(0),cacheIDMagField_(0),mtsTransform_(nullptr){}
55  ~TrackExtrapolator(){delete mtsTransform_;}
56  TrackExtrapolator* operator=(const TrackExtrapolator& rhs);
57 
58  void setup(const edm::EventSetup& iSetup);
59 
60  GlobalPoint extrapolateTrackPosToPoint(const reco::GsfTrack& gsfTrack,const GlobalPoint& pointToExtrapTo);
61  GlobalVector extrapolateTrackMomToPoint(const reco::GsfTrack& gsfTrack,const GlobalPoint& pointToExtrapTo);
62 
63  edm::ESHandle<TrackerGeometry> trackerGeomHandle()const{return trackerHandle_;}
64  const MultiTrajectoryStateTransform * mtsTransform()const{return mtsTransform_;}
65  };
66 
67  public:
69  ~EgammaHLTGsfTrackVarProducer() override;
70  void produce(edm::Event&, const edm::EventSetup&) override;
71  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
72 
73  private:
78 
84 };
85 
86 #endif
#define nullptr
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
const MultiTrajectoryStateTransform * mtsTransform() const
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.