CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: TrackDetectorAssociator.h,v 1.21 2011/04/07 09:02:44 innocent Exp $
18 //
19 //
20 
27 
33 
37 
42 
45 
47 
49 
50 
52  public:
55 
58 
73  const edm::EventSetup&,
74  const FreeTrajectoryState&,
75  const AssociatorParameters& );
79  const edm::EventSetup& iSetup,
81  const FreeTrajectoryState* innerState,
82  const FreeTrajectoryState* outerState=0);
85  const edm::EventSetup&,
86  const reco::Track&,
87  const AssociatorParameters&,
88  Direction direction = Any );
91  const edm::EventSetup&,
92  const SimTrack&,
93  const SimVertex&,
94  const AssociatorParameters& );
97  const edm::EventSetup&,
98  const GlobalVector&,
99  const GlobalPoint&,
100  const int,
101  const AssociatorParameters& );
102 
104  void setPropagator( const Propagator* );
105 
107  void useDefaultPropagator();
108 
111  const reco::Track& );
113  const SimTrack&,
114  const SimVertex& );
116  const GlobalVector&,
117  const GlobalPoint&,
118  const int);
119 
120  static bool crossedIP(const reco::Track& track);
121 
122  private:
123  DetIdAssociator::MapRange getMapRange( const std::pair<float,float>& delta,
124  const float dR ) dso_internal;
125 
126  void fillEcal( const edm::Event&,
129 
130  void fillCaloTowers( const edm::Event&,
132  const AssociatorParameters&) dso_internal;
133 
134  void fillHcal( const edm::Event&,
135  TrackDetMatchInfo&,
136  const AssociatorParameters&) dso_internal;
137 
138  void fillHO( const edm::Event&,
139  TrackDetMatchInfo&,
140  const AssociatorParameters&) dso_internal;
141 
142  void fillPreshower( const edm::Event& iEvent,
143  TrackDetMatchInfo& info,
144  const AssociatorParameters&) dso_internal;
145 
146  void fillMuon( const edm::Event&,
147  TrackDetMatchInfo&,
148  const AssociatorParameters&) dso_internal;
149 
150  void fillCaloTruth( const edm::Event&,
151  TrackDetMatchInfo&,
152  const AssociatorParameters&) dso_internal;
153 
155  const RecSegment*,
156  const AssociatorParameters&) dso_internal;
157 
158  void getTAMuonChamberMatches(std::vector<TAMuonChamberMatch>& matches,
159  const AssociatorParameters& parameters) dso_internal;
160 
161  void init( const edm::EventSetup&) dso_internal;
162 
163  math::XYZPoint getPoint( const GlobalPoint& point) dso_internal
164  {
165  return math::XYZPoint(point.x(),point.y(),point.z());
166  }
167 
169  {
170  return math::XYZPoint(point.x(),point.y(),point.z());
171  }
172 
174  {
175  return math::XYZVector(vec.x(),vec.y(),vec.z());
176  }
177 
179  {
180  return math::XYZVector(vec.x(),vec.y(),vec.z());
181  }
182 
187 
194 
197 
199 };
200 #endif
dbl * delta
Definition: mlp_gen.cc:36
dictionary parameters
Definition: Parameters.py:2
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)
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:243
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:13
edm::ESHandle< DetIdAssociator > hoDetIdAssociator_
void fillMuon(const edm::Event &, TrackDetMatchInfo &, const AssociatorParameters &)
string const
Definition: compareJSON.py:14
void init(const edm::EventSetup &)
DetIdAssociator::MapRange getMapRange(const std::pair< float, float > &delta, const float dR)
edm::ESHandle< DetIdAssociator > muonDetIdAssociator_
math::XYZVector XYZPoint
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