CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackDetMatchInfo.h
Go to the documentation of this file.
1 #ifndef TrackAssociator_TrackDetMatchInfo_h
2 #define TrackAssociator_TrackDetMatchInfo_h
3 
15  public:
17 
19 
21  double crossedEnergy( EnergyType );
22 
25  double coneEnergy( double dR, EnergyType );
26 
28  double nXnEnergy(const DetId&, EnergyType, int gridSize = 1);
29 
31  double nXnEnergy(EnergyType, int gridSize = 1);
32 
35  DetId findMaxDeposition( EnergyType, int gridSize );
36  DetId findMaxDeposition( const DetId&, EnergyType, int gridSize );
37 
42 
46 
47  bool isGoodEcal;
48  bool isGoodHcal;
49  bool isGoodCalo;
50  bool isGoodHO;
51  bool isGoodMuon;
52 
54  std::vector<const EcalRecHit*> ecalRecHits;
55  std::vector<const HBHERecHit*> hcalRecHits;
56  std::vector<const HORecHit*> hoRecHits;
57  std::vector<const CaloTower*> towers;
58 
60  std::vector<const EcalRecHit*> crossedEcalRecHits;
61  std::vector<const HBHERecHit*> crossedHcalRecHits;
62  std::vector<const HORecHit*> crossedHORecHits;
63  std::vector<const CaloTower*> crossedTowers;
64 
67  std::vector<DetId> crossedEcalIds;
68  std::vector<DetId> crossedHcalIds;
69  std::vector<DetId> crossedHOIds;
70  std::vector<DetId> crossedTowerIds;
71  std::vector<DetId> crossedPreshowerIds;
72 
73  std::vector<TAMuonChamberMatch> chambers;
74 
77 
83 
88 
89  double ecalCrossedEnergy();
90  double ecalConeEnergy();
91  double hcalCrossedEnergy();
92  double hcalConeEnergy();
93  double hoCrossedEnergy();
94  double hoConeEnergy();
95 
96  double ecalTowerEnergy() { return crossedEnergy(TowerEcal); }
97  double ecalTowerConeEnergy() { return coneEnergy(999,TowerEcal); }
98  double hcalTowerEnergy() { return crossedEnergy(TowerHcal); }
99  double hcalTowerConeEnergy() { return coneEnergy(999, TowerHcal); }
100  double hoTowerEnergy() { return crossedEnergy(TowerHO); }
101  double hoTowerConeEnergy() { return coneEnergy(999, TowerHO); }
102 
103  double ecalEnergy() { return ecalCrossedEnergy(); }
104  double hcalEnergy() { return hcalCrossedEnergy(); }
105  double hoEnergy() { return hoCrossedEnergy(); }
106 
107  int numberOfSegments() const;
108  int numberOfSegmentsInStation(int station) const;
109  int numberOfSegmentsInStation(int station, int detector) const;
110  int numberOfSegmentsInDetector(int detector) const;
111 
113  GlobalPoint getPosition( const DetId& );
114  std::string dumpGeometry( const DetId& );
115  private:
116  bool insideCone(const DetId&, const double);
118 };
119 #endif
std::vector< DetId > crossedPreshowerIds
double coneEnergy(double dR, EnergyType)
math::XYZPoint trkGlobPosAtHO
GlobalPoint getPosition(const DetId &)
std::vector< const CaloTower * > crossedTowers
std::vector< const CaloTower * > towers
double hcalTowerConeEnergy()
std::vector< const HBHERecHit * > crossedHcalRecHits
std::vector< DetId > crossedTowerIds
std::vector< const EcalRecHit * > ecalRecHits
hits in the cone
std::vector< DetId > crossedEcalIds
void setCaloGeometry(edm::ESHandle< CaloGeometry > geometry)
DetId findMaxDeposition(EnergyType)
Find detector elements with highest energy deposition.
std::vector< DetId > crossedHcalIds
std::vector< const EcalRecHit * > crossedEcalRecHits
hits in detector elements crossed by a track
double nXnEnergy(const DetId &, EnergyType, int gridSize=1)
get energy of the NxN shape (N = 2*gridSize + 1) around given detector element
edm::ESHandle< CaloGeometry > caloGeometry
math::XYZPoint trkGlobPosAtHcal
FreeTrajectoryState stateAtIP
track info
SimTrackRef simTrackRef_
int numberOfSegments() const
GlobalVector trkMomAtHO
std::string dumpGeometry(const DetId &)
std::vector< TAMuonChamberMatch > chambers
std::vector< const HBHERecHit * > hcalRecHits
std::vector< DetId > crossedHOIds
double crossedEnergy(EnergyType)
energy in detector elements crossed by the track by types
Definition: DetId.h:18
int numberOfSegmentsInDetector(int detector) const
GlobalVector trkMomAtEcal
reco::TrackRef trackRef_
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double ecalTowerConeEnergy()
GlobalVector trkMomAtHcal
ESHandle< TrackerGeometry > geometry
std::vector< const HORecHit * > crossedHORecHits
math::XYZPoint trkGlobPosAtEcal
Track position at different parts of the calorimeter.
bool insideCone(const DetId &, const double)
std::vector< const HORecHit * > hoRecHits
const SimTrack * simTrack
MC truth info.
int numberOfSegmentsInStation(int station) const