CMS 3D CMS Logo

TrackDetectorAssociator.h
Go to the documentation of this file.
1 #ifndef TrackAssociator_TrackDetectorAssociator_h
2 #define TrackAssociator_TrackDetectorAssociator_h 1
3 
4 // -*- C++ -*-
5 //
6 // Package: TrackAssociator
7 // Class: TrackDetectorAssociator
8 //
9 /*
10 
11  Description: main class of tools to associate a track to calorimeter and muon detectors
12 
13 */
14 //
15 // Original Author: Dmytro Kovalskyi
16 // Created: Fri Apr 21 10:59:41 PDT 2006
17 //
18 //
19 
26 
32 
36 
41 
44 
46 
48 
50 public:
53 
56 
71  const edm::EventSetup&,
72  const FreeTrajectoryState&,
73  const AssociatorParameters&);
77  const edm::EventSetup& iSetup,
78  const AssociatorParameters& parameters,
79  const FreeTrajectoryState* innerState,
80  const FreeTrajectoryState* outerState = nullptr);
83  const edm::EventSetup&,
84  const reco::Track&,
85  const AssociatorParameters&,
86  Direction direction = Any);
89  const edm::Event&, const edm::EventSetup&, const SimTrack&, const SimVertex&, const AssociatorParameters&);
92  const edm::EventSetup&,
93  const GlobalVector&,
94  const GlobalPoint&,
95  const int,
96  const AssociatorParameters&);
99 
101  void setPropagator(const Propagator*);
102 
104  void useDefaultPropagator();
105 
110  const GlobalVector&,
111  const GlobalPoint&,
112  const int);
113 
114  static bool crossedIP(const reco::Track& track);
115 
116 private:
117  DetIdAssociator::MapRange getMapRange(const std::pair<float, float>& delta, const float dR) dso_internal;
118 
119  void fillEcal(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
120 
121  void fillCaloTowers(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
122 
123  void fillHcal(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
124 
125  void fillHO(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
126 
127  void fillPreshower(const edm::Event& iEvent, TrackDetMatchInfo& info, const AssociatorParameters&) dso_internal;
128 
129  void fillMuon(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
130 
131  void fillCaloTruth(const edm::Event&, TrackDetMatchInfo&, const AssociatorParameters&) dso_internal;
132 
133  bool addTAMuonSegmentMatch(TAMuonChamberMatch&, const RecSegment*, const AssociatorParameters&) dso_internal;
134 
135  void getTAMuonChamberMatches(std::vector<TAMuonChamberMatch>& matches,
136  const AssociatorParameters& parameters) dso_internal;
137 
138  void init(const edm::EventSetup&) dso_internal;
139 
140  math::XYZPoint getPoint(const GlobalPoint& point) dso_internal {
141  return math::XYZPoint(point.x(), point.y(), point.z());
142  }
143 
144  math::XYZPoint getPoint(const LocalPoint& point) dso_internal {
145  return math::XYZPoint(point.x(), point.y(), point.z());
146  }
147 
148  math::XYZVector getVector(const GlobalVector& vec) dso_internal { return math::XYZVector(vec.x(), vec.y(), vec.z()); }
149 
150  math::XYZVector getVector(const LocalVector& vec) dso_internal { return math::XYZVector(vec.x(), vec.y(), vec.z()); }
151 
156 
163 
166 
168 };
169 #endif
static const TGPicture * info(bool iBackgroundIsBlack)
static bool crossedIP(const reco::Track &track)
static FreeTrajectoryState getFreeTrajectoryState(const edm::EventSetup &, const reco::Track &)
get FreeTrajectoryState from different track representations
void useDefaultPropagator()
use the default propagator
edm::ESWatcher< IdealMagneticFieldRecord > theMagneticFeildWatcher_
math::XYZVector getVector(const GlobalVector &vec)
void fillHcal(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
bool addTAMuonSegmentMatch(TAMuonChamberMatch &, const RecSegment *, const AssociatorParameters &)
math::XYZPoint getPoint(const LocalPoint &point)
const CachedTrajectory & getCachedTrajector() const
trajector information
edm::ESHandle< DetIdAssociator > hcalDetIdAssociator_
void fillCaloTowers(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
void fillCaloTruth(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
int iEvent
Definition: GenABIO.cc:224
void setPropagator(const Propagator *)
use a user configured propagator
void getTAMuonChamberMatches(std::vector< TAMuonChamberMatch > &matches, const AssociatorParameters &parameters)
TrackAssociatorParameters AssociatorParameters
#define dso_internal
Definition: Visibility.h:13
edm::ESHandle< CaloGeometry > theCaloGeometry_
edm::ESHandle< DetIdAssociator > ecalDetIdAssociator_
void fillPreshower(const edm::Event &iEvent, TrackDetMatchInfo &info, const AssociatorParameters &)
math::XYZVector getVector(const LocalVector &vec)
math::XYZPoint getPoint(const GlobalPoint &point)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
edm::ESHandle< DetIdAssociator > hoDetIdAssociator_
void fillMuon(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
void init(const edm::EventSetup &)
DetIdAssociator::MapRange getMapRange(const std::pair< float, float > &delta, const float dR)
edm::ESHandle< DetIdAssociator > muonDetIdAssociator_
edm::ESHandle< DetIdAssociator > preshowerDetIdAssociator_
void fillEcal(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
edm::ESHandle< DetIdAssociator > caloDetIdAssociator_
void fillHO(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry_
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5