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 
23 
29 
34 
38 
41 
43 
45 public:
46  explicit TrackDetectorAssociator();
48 
51 
66  const edm::EventSetup&,
67  const FreeTrajectoryState&,
68  const AssociatorParameters&);
72  const edm::EventSetup& iSetup,
74  const FreeTrajectoryState* innerState,
75  const FreeTrajectoryState* outerState = nullptr);
78  const edm::EventSetup&,
79  const reco::Track&,
80  const AssociatorParameters&,
81  Direction direction = Any);
84  const edm::Event&, const edm::EventSetup&, const SimTrack&, const SimVertex&, const AssociatorParameters&);
87  const edm::EventSetup&,
88  const GlobalVector&,
89  const GlobalPoint&,
90  const int,
91  const AssociatorParameters&);
94 
96  void setPropagator(const Propagator*);
97 
99  void useDefaultPropagator();
100 
105  const GlobalVector&,
106  const GlobalPoint&,
107  const int);
108 
109  static bool crossedIP(const reco::Track& track);
110 
111 private:
112  DetIdAssociator::MapRange getMapRange(const std::pair<float, float>& delta, const float dR) dso_internal;
113 
115 
117 
119 
121 
123 
125 
127 
129 
130  void getTAMuonChamberMatches(std::vector<TAMuonChamberMatch>& matches,
132 
134 
136  return math::XYZPoint(point.x(), point.y(), point.z());
137  }
138 
140  return math::XYZPoint(point.x(), point.y(), point.z());
141  }
142 
143  math::XYZVector getVector(const GlobalVector& vec) dso_internal { return math::XYZVector(vec.x(), vec.y(), vec.z()); }
144 
145  math::XYZVector getVector(const LocalVector& vec) dso_internal { return math::XYZVector(vec.x(), vec.y(), vec.z()); }
146 
148  std::unique_ptr<Propagator> defProp_;
151 
158 
161 
163 };
164 #endif
static const TGPicture * info(bool iBackgroundIsBlack)
static bool crossedIP(const reco::Track &track)
const DetIdAssociator * ecalDetIdAssociator_
void useDefaultPropagator()
use the default propagator
std::unique_ptr< Propagator > defProp_
math::XYZVector getVector(const GlobalVector &vec)
void fillHcal(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
bool addTAMuonSegmentMatch(TAMuonChamberMatch &, const RecSegment *, const AssociatorParameters &)
const CachedTrajectory & getCachedTrajector() const
trajector information
math::XYZPoint getPoint(const LocalPoint &point)
void fillCaloTowers(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
void fillCaloTruth(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
const DetIdAssociator * hcalDetIdAssociator_
void init(const edm::EventSetup &, const AssociatorParameters &)
int iEvent
Definition: GenABIO.cc:224
const DetIdAssociator * hoDetIdAssociator_
void setPropagator(const Propagator *)
use a user configured propagator
void getTAMuonChamberMatches(std::vector< TAMuonChamberMatch > &matches, const AssociatorParameters &parameters)
const DetIdAssociator * muonDetIdAssociator_
TrackAssociatorParameters AssociatorParameters
#define dso_internal
Definition: Visibility.h:13
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::ESWatcher< IdealMagneticFieldRecord > theMagneticFieldWatcher_
const GlobalTrackingGeometry * theTrackingGeometry_
void fillMuon(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
static FreeTrajectoryState getFreeTrajectoryState(const MagneticField *, const reco::Track &)
get FreeTrajectoryState from different track representations
DetIdAssociator::MapRange getMapRange(const std::pair< float, float > &delta, const float dR)
void fillEcal(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
const DetIdAssociator * preshowerDetIdAssociator_
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
void fillHO(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
const DetIdAssociator * caloDetIdAssociator_
const CaloGeometry * theCaloGeometry_
*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