CMS 3D CMS Logo

ShallowTrackClustersProducer.cc
Go to the documentation of this file.
2 
4 
10 
22 
24 #include <map>
25 
27  : tracks_token_(consumes<edm::View<reco::Track>>(iConfig.getParameter<edm::InputTag>("Tracks"))),
28  association_token_(consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("Tracks"))),
29  clusters_token_(consumes<edmNew::DetSetVector<SiStripCluster>>(iConfig.getParameter<edm::InputTag>("Clusters"))),
30  Suffix(iConfig.getParameter<std::string>("Suffix")),
31  Prefix(iConfig.getParameter<std::string>("Prefix")) {
32  produces<std::vector<int>>(Prefix + "clusterIdx" + Suffix); //link: on trk cluster --> general cluster info
33  produces<std::vector<int>>(Prefix + "onTrkClusterIdx" + Suffix); //link: general cluster info --> on track cluster
34  produces<std::vector<int>>(Prefix + "onTrkClustersBegin" + Suffix); //link: track --> onTrkInfo (range)
35  produces<std::vector<int>>(Prefix + "onTrkClustersEnd" + Suffix); //link: track --> onTrkInfo (range)
36  produces<std::vector<int>>(Prefix + "trackindex" + Suffix); //link: on trk cluster --> track index
37 
38  produces<std::vector<unsigned int>>(Prefix + "trackmulti" + Suffix);
39  produces<std::vector<float>>(Prefix + "localtheta" + Suffix);
40  produces<std::vector<float>>(Prefix + "localphi" + Suffix);
41  produces<std::vector<float>>(Prefix + "localpitch" + Suffix);
42  produces<std::vector<float>>(Prefix + "localx" + Suffix);
43  produces<std::vector<float>>(Prefix + "localy" + Suffix);
44  produces<std::vector<float>>(Prefix + "localz" + Suffix);
45  produces<std::vector<float>>(Prefix + "strip" + Suffix);
46  produces<std::vector<float>>(Prefix + "globaltheta" + Suffix);
47  produces<std::vector<float>>(Prefix + "globalphi" + Suffix);
48  produces<std::vector<float>>(Prefix + "globalx" + Suffix);
49  produces<std::vector<float>>(Prefix + "globaly" + Suffix);
50  produces<std::vector<float>>(Prefix + "globalz" + Suffix);
51  produces<std::vector<float>>(Prefix + "insidistance" + Suffix);
52  produces<std::vector<float>>(Prefix + "covered" + Suffix);
53  produces<std::vector<float>>(Prefix + "projwidth" + Suffix);
54  produces<std::vector<float>>(Prefix + "BdotY" + Suffix);
55 
56  produces<std::vector<float>>(Prefix + "rhlocalx" + Suffix);
57  produces<std::vector<float>>(Prefix + "rhlocaly" + Suffix);
58  produces<std::vector<float>>(Prefix + "rhlocalxerr" + Suffix);
59  produces<std::vector<float>>(Prefix + "rhlocalyerr" + Suffix);
60  produces<std::vector<float>>(Prefix + "rhglobalx" + Suffix);
61  produces<std::vector<float>>(Prefix + "rhglobaly" + Suffix);
62  produces<std::vector<float>>(Prefix + "rhglobalz" + Suffix);
63  produces<std::vector<float>>(Prefix + "rhstrip" + Suffix);
64  produces<std::vector<float>>(Prefix + "rhmerr" + Suffix);
65 
66  produces<std::vector<float>>(Prefix + "ubstrip" + Suffix);
67  produces<std::vector<float>>(Prefix + "ubmerr" + Suffix);
68 
69  produces<std::vector<float>>(Prefix + "driftx" + Suffix);
70  produces<std::vector<float>>(Prefix + "drifty" + Suffix);
71  produces<std::vector<float>>(Prefix + "driftz" + Suffix);
72  produces<std::vector<float>>(Prefix + "globalZofunitlocalY" + Suffix);
73 }
74 
78  iEvent.getByToken(tracks_token_, tracks);
79 
80  int size = clustermap.size();
81 
82  //links
83  auto clusterIdx = std::make_unique<std::vector<int>>(); //link: on trk cluster --> general cluster info
84  auto onTrkClusterIdx =
85  std::make_unique<std::vector<int>>(size, -1); //link: general cluster info --> on track cluster
86  auto onTrkClustersBegin = std::make_unique<std::vector<int>>(tracks->size(), -1); //link: track --> on trk cluster
87  auto onTrkClustersEnd = std::make_unique<std::vector<int>>(tracks->size(), -1); //link: track --> on trk cluster
88  auto trackindex = std::make_unique<std::vector<int>>(); //link: on track cluster --> track
89  clusterIdx->reserve(size);
90  trackindex->reserve(size);
91 
92  auto trackmulti = std::make_unique<std::vector<unsigned int>>();
93  trackmulti->reserve(size);
94  auto localtheta = std::make_unique<std::vector<float>>();
95  localtheta->reserve(size);
96  auto localphi = std::make_unique<std::vector<float>>();
97  localphi->reserve(size);
98  auto localpitch = std::make_unique<std::vector<float>>();
99  localpitch->reserve(size);
100  auto localx = std::make_unique<std::vector<float>>();
101  localx->reserve(size);
102  auto localy = std::make_unique<std::vector<float>>();
103  localy->reserve(size);
104  auto localz = std::make_unique<std::vector<float>>();
105  localz->reserve(size);
106  auto strip = std::make_unique<std::vector<float>>();
107  strip->reserve(size);
108  auto globaltheta = std::make_unique<std::vector<float>>();
109  globaltheta->reserve(size);
110  auto globalphi = std::make_unique<std::vector<float>>();
111  globalphi->reserve(size);
112  auto globalx = std::make_unique<std::vector<float>>();
113  globalx->reserve(size);
114  auto globaly = std::make_unique<std::vector<float>>();
115  globaly->reserve(size);
116  auto globalz = std::make_unique<std::vector<float>>();
117  globalz->reserve(size);
118  auto insidistance = std::make_unique<std::vector<float>>();
119  insidistance->reserve(size);
120  auto projwidth = std::make_unique<std::vector<float>>();
121  projwidth->reserve(size);
122  auto BdotY = std::make_unique<std::vector<float>>();
123  BdotY->reserve(size);
124  auto covered = std::make_unique<std::vector<float>>();
125  covered->reserve(size);
126  auto rhlocalx = std::make_unique<std::vector<float>>();
127  rhlocalx->reserve(size);
128  auto rhlocaly = std::make_unique<std::vector<float>>();
129  rhlocaly->reserve(size);
130  auto rhlocalxerr = std::make_unique<std::vector<float>>();
131  rhlocalxerr->reserve(size);
132  auto rhlocalyerr = std::make_unique<std::vector<float>>();
133  rhlocalyerr->reserve(size);
134  auto rhglobalx = std::make_unique<std::vector<float>>();
135  rhglobalx->reserve(size);
136  auto rhglobaly = std::make_unique<std::vector<float>>();
137  rhglobaly->reserve(size);
138  auto rhglobalz = std::make_unique<std::vector<float>>();
139  rhglobalz->reserve(size);
140  auto rhstrip = std::make_unique<std::vector<float>>();
141  rhstrip->reserve(size);
142  auto rhmerr = std::make_unique<std::vector<float>>();
143  rhmerr->reserve(size);
144  auto ubstrip = std::make_unique<std::vector<float>>();
145  ubstrip->reserve(size);
146  auto ubmerr = std::make_unique<std::vector<float>>();
147  ubmerr->reserve(size);
148  auto driftx = std::make_unique<std::vector<float>>();
149  driftx->reserve(size);
150  auto drifty = std::make_unique<std::vector<float>>();
151  drifty->reserve(size);
152  auto driftz = std::make_unique<std::vector<float>>();
153  driftz->reserve(size);
154  auto globalZofunitlocalY = std::make_unique<std::vector<float>>();
155  globalZofunitlocalY->reserve(size);
156 
157  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
158  iSetup.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
163 
166 
168 
169  size_t ontrk_cluster_idx = 0;
170  std::map<size_t, std::vector<size_t>> mapping; //cluster idx --> on trk cluster idx (multiple)
171 
173  association != associations->end();
174  association++) {
175  const Trajectory* traj = association->key.get();
176  const reco::Track* track = association->val.get();
177  int trk_idx = shallow::findTrackIndex(tracks, track);
178  size_t trk_strt_idx = ontrk_cluster_idx;
179 
180  for (auto const& measurement : traj->measurements()) {
181  const TrajectoryStateOnSurface& tsos = measurement.updatedState();
182  const TrajectoryStateOnSurface unbiased =
183  combiner(measurement.forwardPredictedState(), measurement.backwardPredictedState());
184 
185  const TrackingRecHit* hit = measurement.recHit()->hit();
186  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>(hit);
187  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>(hit);
188  const SiStripMatchedRecHit2D* matchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>(hit);
189 
190  for (unsigned h = 0; h < 2; h++) { //loop over possible Hit options (1D, 2D)
191  const SiStripCluster* cluster_ptr;
192  if (!matchedhit && h == 1)
193  continue;
194  else if (matchedhit && h == 0)
195  cluster_ptr = &matchedhit->monoCluster();
196  else if (matchedhit && h == 1)
197  cluster_ptr = &matchedhit->stereoCluster();
198  else if (hit2D)
199  cluster_ptr = (hit2D->cluster()).get();
200  else if (hit1D)
201  cluster_ptr = (hit1D->cluster()).get();
202  else
203  continue;
204 
205  shallow::CLUSTERMAP::const_iterator cluster =
206  clustermap.find(std::make_pair(hit->geographicalId().rawId(), cluster_ptr->firstStrip()));
207  if (cluster == clustermap.end())
208  throw cms::Exception("Logic Error") << "Cluster not found: this could be a configuration error" << std::endl;
209 
210  unsigned i = cluster->second;
211 
212  //find if cluster was already assigned to a previous track
213  auto already_visited = mapping.find(i);
214  int nassociations = 1;
215  if (already_visited != mapping.end()) {
216  nassociations += already_visited->second.size();
217  for (size_t idx : already_visited->second) {
218  trackmulti->at(idx)++;
219  }
220  already_visited->second.push_back(ontrk_cluster_idx);
221  } else { //otherwise store this
222  std::vector<size_t> single = {ontrk_cluster_idx};
223  mapping.insert(std::make_pair(i, single));
224  }
225 
226  const StripGeomDetUnit* theStripDet =
227  dynamic_cast<const StripGeomDetUnit*>(theTrackerGeometry->idToDet(hit->geographicalId()));
229 
230  if (nassociations == 1)
231  onTrkClusterIdx->at(i) = ontrk_cluster_idx; //link: general cluster info --> on track cluster
232  clusterIdx->push_back(i); //link: on trk cluster --> general cluster info
233  trackmulti->push_back(nassociations);
234  trackindex->push_back(trk_idx);
235  localtheta->push_back((theStripDet->toLocal(tsos.globalDirection())).theta());
236  localphi->push_back((theStripDet->toLocal(tsos.globalDirection())).phi());
237  localpitch->push_back(
238  (theStripDet->specificTopology()).localPitch(theStripDet->toLocal(tsos.globalPosition())));
239  localx->push_back((theStripDet->toLocal(tsos.globalPosition())).x());
240  localy->push_back((theStripDet->toLocal(tsos.globalPosition())).y());
241  localz->push_back((theStripDet->toLocal(tsos.globalPosition())).z());
242  strip->push_back((theStripDet->specificTopology()).strip(theStripDet->toLocal(tsos.globalPosition())));
243  globaltheta->push_back(tsos.globalDirection().theta());
244  globalphi->push_back(tsos.globalDirection().phi());
245  globalx->push_back(tsos.globalPosition().x());
246  globaly->push_back(tsos.globalPosition().y());
247  globalz->push_back(tsos.globalPosition().z());
248  insidistance->push_back(1. / fabs(cos(localtheta->at(ontrk_cluster_idx))));
249  projwidth->push_back(tan(localtheta->at(ontrk_cluster_idx)) * cos(localphi->at(ontrk_cluster_idx)));
250  BdotY->push_back((theStripDet->surface()).toLocal(magfield->inTesla(theStripDet->surface().position())).y());
251  covered->push_back(drift.z() / localpitch->at(ontrk_cluster_idx) *
252  fabs(projwidth->at(ontrk_cluster_idx) - drift.x() / drift.z()));
253  rhlocalx->push_back(hit->localPosition().x());
254  rhlocaly->push_back(hit->localPosition().y());
255  rhlocalxerr->push_back(sqrt(hit->localPositionError().xx()));
256  rhlocalyerr->push_back(sqrt(hit->localPositionError().yy()));
257  rhglobalx->push_back(theStripDet->toGlobal(hit->localPosition()).x());
258  rhglobaly->push_back(theStripDet->toGlobal(hit->localPosition()).y());
259  rhglobalz->push_back(theStripDet->toGlobal(hit->localPosition()).z());
260  rhstrip->push_back(theStripDet->specificTopology().strip(hit->localPosition()));
261  rhmerr->push_back(sqrt(
262  theStripDet->specificTopology().measurementError(hit->localPosition(), hit->localPositionError()).uu()));
263  ubstrip->push_back(theStripDet->specificTopology().strip(unbiased.localPosition()));
264  ubmerr->push_back(sqrt(theStripDet->specificTopology()
265  .measurementError(unbiased.localPosition(), unbiased.localError().positionError())
266  .uu()));
267  driftx->push_back(drift.x());
268  drifty->push_back(drift.y());
269  driftz->push_back(drift.z());
270  globalZofunitlocalY->push_back((theStripDet->toGlobal(LocalVector(0, 1, 0))).z());
271 
272  ontrk_cluster_idx++;
273  } //for(unsigned h=0; h<2; h++) { //loop over possible Hit options (1D, 2D)
274  } //for(auto const& measurement : traj->measurements() )
275 
276  onTrkClustersBegin->at(trk_idx) = trk_strt_idx;
277  onTrkClustersEnd->at(trk_idx) = ontrk_cluster_idx;
278 
279  } //for(TrajTrackAssociationCollection::const_iterator association = associations->begin();
280 
281  iEvent.put(std::move(clusterIdx), Prefix + "clusterIdx" + Suffix);
282  iEvent.put(std::move(onTrkClusterIdx), Prefix + "onTrkClusterIdx" + Suffix);
283  iEvent.put(std::move(onTrkClustersBegin), Prefix + "onTrkClustersBegin" + Suffix);
284  iEvent.put(std::move(onTrkClustersEnd), Prefix + "onTrkClustersEnd" + Suffix);
285  iEvent.put(std::move(trackindex), Prefix + "trackindex" + Suffix);
286 
287  iEvent.put(std::move(trackmulti), Prefix + "trackmulti" + Suffix);
288  iEvent.put(std::move(localtheta), Prefix + "localtheta" + Suffix);
289  iEvent.put(std::move(localphi), Prefix + "localphi" + Suffix);
290  iEvent.put(std::move(localpitch), Prefix + "localpitch" + Suffix);
291  iEvent.put(std::move(localx), Prefix + "localx" + Suffix);
292  iEvent.put(std::move(localy), Prefix + "localy" + Suffix);
293  iEvent.put(std::move(localz), Prefix + "localz" + Suffix);
294  iEvent.put(std::move(strip), Prefix + "strip" + Suffix);
295  iEvent.put(std::move(globaltheta), Prefix + "globaltheta" + Suffix);
296  iEvent.put(std::move(globalphi), Prefix + "globalphi" + Suffix);
297  iEvent.put(std::move(globalx), Prefix + "globalx" + Suffix);
298  iEvent.put(std::move(globaly), Prefix + "globaly" + Suffix);
299  iEvent.put(std::move(globalz), Prefix + "globalz" + Suffix);
300  iEvent.put(std::move(insidistance), Prefix + "insidistance" + Suffix);
301  iEvent.put(std::move(covered), Prefix + "covered" + Suffix);
302  iEvent.put(std::move(projwidth), Prefix + "projwidth" + Suffix);
303  iEvent.put(std::move(BdotY), Prefix + "BdotY" + Suffix);
304  iEvent.put(std::move(rhlocalx), Prefix + "rhlocalx" + Suffix);
305  iEvent.put(std::move(rhlocaly), Prefix + "rhlocaly" + Suffix);
306  iEvent.put(std::move(rhlocalxerr), Prefix + "rhlocalxerr" + Suffix);
307  iEvent.put(std::move(rhlocalyerr), Prefix + "rhlocalyerr" + Suffix);
308  iEvent.put(std::move(rhglobalx), Prefix + "rhglobalx" + Suffix);
309  iEvent.put(std::move(rhglobaly), Prefix + "rhglobaly" + Suffix);
310  iEvent.put(std::move(rhglobalz), Prefix + "rhglobalz" + Suffix);
311  iEvent.put(std::move(rhstrip), Prefix + "rhstrip" + Suffix);
312  iEvent.put(std::move(rhmerr), Prefix + "rhmerr" + Suffix);
313  iEvent.put(std::move(ubstrip), Prefix + "ubstrip" + Suffix);
314  iEvent.put(std::move(ubmerr), Prefix + "ubmerr" + Suffix);
315  iEvent.put(std::move(driftx), Prefix + "driftx" + Suffix);
316  iEvent.put(std::move(drifty), Prefix + "drifty" + Suffix);
317  iEvent.put(std::move(driftz), Prefix + "driftz" + Suffix);
318  iEvent.put(std::move(globalZofunitlocalY), Prefix + "globalZofunitlocalY" + Suffix);
319 }
Vector3DBase< float, LocalTag >
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
TrajectoryStateCombiner.h
TrajectoryStateOnSurface::globalDirection
GlobalVector globalDirection() const
Definition: TrajectoryStateOnSurface.h:67
genericTrackCandidates_cff.associations
associations
Definition: genericTrackCandidates_cff.py:45
SiStripDependentRecords.h
DDAxes::y
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
mps_fire.i
i
Definition: mps_fire.py:355
ShallowTrackClustersProducer::association_token_
const edm::EDGetTokenT< TrajTrackAssociationCollection > association_token_
Definition: ShallowTrackClustersProducer.h:18
ShallowTools.h
StripGeomDetUnit.h
TrackerGeometry.h
hit::y
double y
Definition: SiStripHitEffFromCalibTree.cc:90
ESHandle.h
SiStripMatchedRecHit2D::stereoCluster
SiStripCluster const & stereoCluster() const
Definition: SiStripMatchedRecHit2D.h:40
LocalTrajectoryError::positionError
LocalError positionError() const
Definition: LocalTrajectoryError.h:81
sistrip::View
View
Definition: ConstantsForView.h:26
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
edm
HLT enums.
Definition: AlignableModifier.h:19
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
PV3DBase::theta
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
charmTagsComputerCvsB_cfi.idx
idx
Definition: charmTagsComputerCvsB_cfi.py:108
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
DDAxes::x
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
StripTopology.h
edm::Handle
Definition: AssociativeIterator.h:50
edmNew
Definition: DetSet2RangeMap.h:11
SiStripCluster::firstStrip
uint16_t firstStrip() const
Definition: SiStripCluster.h:38
hit::x
double x
Definition: SiStripHitEffFromCalibTree.cc:89
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
ShallowTrackClustersProducer.h
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
ShallowTrackClustersProducer::Suffix
std::string Suffix
Definition: ShallowTrackClustersProducer.h:20
shallow::drift
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:36
SiStripLorentzAngle
Definition: SiStripLorentzAngle.h:26
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDAxes::z
reco::Track
Definition: Track.h:27
IdealMagneticFieldRecord.h
edm::ESHandle< TrackerGeometry >
Topology::measurementError
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
h
GeomDet::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
StripTopology::strip
virtual float strip(const LocalPoint &) const =0
ShallowTrackClustersProducer::Prefix
std::string Prefix
Definition: ShallowTrackClustersProducer.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator
friend struct const_iterator
Definition: AssociationMap.h:274
SiStripLorentzAngleRcd.h
TrackerDigiGeometryRecord.h
TrajectoryStateCombiner
Definition: TrajectoryStateCombiner.h:13
TrajectoryStateOnSurface::localPosition
LocalPoint localPosition() const
Definition: TrajectoryStateOnSurface.h:74
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::ParameterSet
Definition: ParameterSet.h:36
trackerHitRTTI::single
Definition: trackerHitRTTI.h:10
ShallowTrackClustersProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: ShallowTrackClustersProducer.cc:75
Event.h
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >
ShallowTrackClustersProducer::clusters_token_
const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusters_token_
Definition: ShallowTrackClustersProducer.h:19
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
iEvent
int iEvent
Definition: GenABIO.cc:224
ShallowTrackClustersProducer::ShallowTrackClustersProducer
ShallowTrackClustersProducer(const edm::ParameterSet &)
Definition: ShallowTrackClustersProducer.cc:26
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:57
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
get
#define get
TrackValidation_cff.association
association
Definition: TrackValidation_cff.py:286
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
ShallowTrackClustersProducer::tracks_token_
const edm::EDGetTokenT< edm::View< reco::Track > > tracks_token_
Definition: ShallowTrackClustersProducer.h:17
TrackingRecHit
Definition: TrackingRecHit.h:21
SiStripRecHit1D.h
Trajectory.h
GloballyPositioned::position
const PositionType & position() const
Definition: GloballyPositioned.h:36
shallow::make_cluster_map
CLUSTERMAP make_cluster_map(const edm::Event &, const edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > &)
Definition: ShallowTools.cc:12
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
Trajectory
Definition: Trajectory.h:38
SiStripMatchedRecHit2D::monoCluster
SiStripCluster const & monoCluster() const
Definition: SiStripMatchedRecHit2D.h:41
SiStripLorentzAngleDepRcd
Definition: SiStripDependentRecords.h:40
toLocal
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
Definition: ConversionProducer.h:192
StripGeomDetUnit::specificTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:17
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
cms::Exception
Definition: Exception.h:70
ParameterSet.h
heavyFlavorValidationHarvestingSequence_cff.combiner
combiner
Definition: heavyFlavorValidationHarvestingSequence_cff.py:107
SiStripMatchedRecHit2D.h
SiStripLorentzAngle.h
edm::Event
Definition: Event.h:73
TrajectoryStateOnSurface::localError
const LocalTrajectoryError & localError() const
Definition: TrajectoryStateOnSurface.h:77
SiStripCluster
Definition: SiStripCluster.h:9
volumeBasedMagneticField_160812_cfi.magfield
magfield
Definition: volumeBasedMagneticField_160812_cfi.py:11
SiStripRecHit2D.h
taus_updatedMVAIds_cff.mapping
mapping
Definition: taus_updatedMVAIds_cff.py:28
caloTruthCellsNtuples_cff.Prefix
Prefix
Definition: caloTruthCellsNtuples_cff.py:8
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
shallow::CLUSTERMAP
std::map< std::pair< uint32_t, uint16_t >, unsigned int > CLUSTERMAP
Definition: ShallowTools.h:21
hit
Definition: SiStripHitEffFromCalibTree.cc:88
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
shallow::findTrackIndex
int findTrackIndex(const edm::Handle< edm::View< reco::Track > > &h, const reco::Track *t)
Definition: ShallowTools.cc:25