1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#include "AnalysisDataFormats/TrackInfo/interface/TrackInfo.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
using namespace reco;
TrackInfo::TrackInfo(const TrajectorySeed& seed, const TrajectoryInfo& trajstates)
: seed_(seed), trajstates_(trajstates) {}
const TrajectorySeed& TrackInfo::seed() const { return seed_; }
const reco::TrackInfo::TrajectoryInfo& TrackInfo::trajStateMap() const { return trajstates_; }
const RecHitType TrackInfo::type(TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.type();
else
edm::LogError("TrackInfo") << "This rechit does not exist";
return Null;
}
const PTrajectoryStateOnDet* TrackInfo::stateOnDet(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.stateOnDet(statetype);
else
edm::LogError("TrackInfo") << "This rechit does not exist";
return nullptr;
}
const LocalVector TrackInfo::localTrackMomentum(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end()) {
const PTrajectoryStateOnDet* state = states->second.stateOnDet(statetype);
if (state != nullptr)
return state->parameters().momentum();
} else
edm::LogError("TrackInfo") << "This rechit does not exist";
return LocalVector(0, 0, 0);
}
const LocalVector TrackInfo::localTrackMomentumOnMono(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.localTrackMomentumOnMono(statetype);
else
edm::LogError("TrackInfo") << "This rechit does not exist";
return LocalVector(0, 0, 0);
}
const LocalVector TrackInfo::localTrackMomentumOnStereo(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.localTrackMomentumOnStereo(statetype);
return LocalVector(0, 0, 0);
}
const LocalPoint TrackInfo::localTrackPosition(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end()) {
const PTrajectoryStateOnDet* state = states->second.stateOnDet(statetype);
if (state != nullptr)
return state->parameters().position();
} else
edm::LogError("TrackInfo") << "This rechit does not exist";
return LocalPoint(0, 0, 0);
}
const LocalPoint TrackInfo::localTrackPositionOnMono(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.localTrackPositionOnMono(statetype);
else
edm::LogError("TrackInfo") << "This rechit does not exist";
return LocalPoint(0, 0, 0);
}
const LocalPoint TrackInfo::localTrackPositionOnStereo(StateType statetype, TrackingRecHitRef hit) const {
TrajectoryInfo::const_iterator states = trajstates_.find(hit);
if (states != trajstates_.end())
return states->second.localTrackPositionOnStereo(statetype);
else
edm::LogError("TrackInfo") << "This rechit does not exist";
return LocalPoint(0, 0, 0);
}
|