CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ShallowGainCalibration Class Reference

#include <ShallowGainCalibration.h>

Inheritance diagram for ShallowGainCalibration:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 ShallowGainCalibration (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

bool IsFarFromBorder (TrajectoryStateOnSurface *trajState, const uint32_t detid, const edm::EventSetup *iSetup)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
double thickness (DetId id)
 

Private Attributes

const edm::EDGetTokenT< TrajTrackAssociationCollectionassociation_token_
 
std::map< DetId, double > m_thicknessMap
 
const TrackerGeometrym_tracker
 
std::string Prefix
 
std::string Suffix
 
const edm::EDGetTokenT< edm::View< reco::Track > > tracks_token_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 53 of file ShallowGainCalibration.h.

Constructor & Destructor Documentation

◆ ShallowGainCalibration()

ShallowGainCalibration::ShallowGainCalibration ( const edm::ParameterSet iConfig)
explicit

Definition at line 9 of file ShallowGainCalibration.cc.

11  association_token_(consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("Tracks"))),
12  Suffix(iConfig.getParameter<std::string>("Suffix")),
13  Prefix(iConfig.getParameter<std::string>("Prefix")) {
14  produces<std::vector<int>>(Prefix + "trackindex" + Suffix);
15  produces<std::vector<unsigned int>>(Prefix + "rawid" + Suffix);
16  produces<std::vector<double>>(Prefix + "localdirx" + Suffix);
17  produces<std::vector<double>>(Prefix + "localdiry" + Suffix);
18  produces<std::vector<double>>(Prefix + "localdirz" + Suffix);
19  produces<std::vector<unsigned short>>(Prefix + "firststrip" + Suffix);
20  produces<std::vector<unsigned short>>(Prefix + "nstrips" + Suffix);
21  produces<std::vector<bool>>(Prefix + "saturation" + Suffix);
22  produces<std::vector<bool>>(Prefix + "overlapping" + Suffix);
23  produces<std::vector<bool>>(Prefix + "farfromedge" + Suffix);
24  produces<std::vector<unsigned int>>(Prefix + "charge" + Suffix);
25  produces<std::vector<double>>(Prefix + "path" + Suffix);
26 #ifdef ExtendedCALIBTree
27  produces<std::vector<double>>(Prefix + "chargeoverpath" + Suffix);
28 #endif
29  produces<std::vector<unsigned char>>(Prefix + "amplitude" + Suffix);
30  produces<std::vector<double>>(Prefix + "gainused" + Suffix);
31  produces<std::vector<double>>(Prefix + "gainusedTick" + Suffix);
32 }

References Prefix, and Suffix.

Member Function Documentation

◆ IsFarFromBorder()

bool ShallowGainCalibration::IsFarFromBorder ( TrajectoryStateOnSurface trajState,
const uint32_t  detid,
const edm::EventSetup iSetup 
)
private

Definition at line 291 of file ShallowGainCalibration.cc.

293  {
295  iSetup->get<TrackerDigiGeometryRecord>().get(tkGeom);
296 
297  LocalPoint HitLocalPos = trajState->localPosition();
298  LocalError HitLocalError = trajState->localError().positionError();
299 
300  const GeomDetUnit* it = tkGeom->idToDetUnit(DetId(detid));
301  if (dynamic_cast<const StripGeomDetUnit*>(it) == nullptr && dynamic_cast<const PixelGeomDetUnit*>(it) == nullptr) {
302  std::cout << "this detID doesn't seem to belong to the Tracker" << std::endl;
303  return false;
304  }
305 
306  const BoundPlane plane = it->surface();
307  const TrapezoidalPlaneBounds* trapezoidalBounds(dynamic_cast<const TrapezoidalPlaneBounds*>(&(plane.bounds())));
308  const RectangularPlaneBounds* rectangularBounds(dynamic_cast<const RectangularPlaneBounds*>(&(plane.bounds())));
309 
310  double DistFromBorder = 1.0;
311  double HalfLength = it->surface().bounds().length() / 2.0;
312 
313  if (trapezoidalBounds) {
314  std::array<const float, 4> const& parameters = (*trapezoidalBounds).parameters();
315  HalfLength = parameters[3];
316  } else if (rectangularBounds) {
317  HalfLength = it->surface().bounds().length() / 2.0;
318  } else {
319  return false;
320  }
321 
322  if (fabs(HitLocalPos.y()) + HitLocalError.yy() >= (HalfLength - DistFromBorder))
323  return false;
324 
325  return true;
326 }

References Surface::bounds(), gather_cfg::cout, edm::EventSetup::get(), get, ProducerES_cfi::HalfLength, TrackerGeometry::idToDetUnit(), Bounds::length(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), LocalTrajectoryError::positionError(), GeomDet::surface(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().

Referenced by produce().

◆ produce()

void ShallowGainCalibration::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 34 of file ShallowGainCalibration.cc.

34  {
35  auto trackindex = std::make_unique<std::vector<int>>();
36  auto rawid = std::make_unique<std::vector<unsigned int>>();
37  auto localdirx = std::make_unique<std::vector<double>>();
38  auto localdiry = std::make_unique<std::vector<double>>();
39  auto localdirz = std::make_unique<std::vector<double>>();
40  auto firststrip = std::make_unique<std::vector<unsigned short>>();
41  auto nstrips = std::make_unique<std::vector<unsigned short>>();
42  auto saturation = std::make_unique<std::vector<bool>>();
43  auto overlapping = std::make_unique<std::vector<bool>>();
44  auto farfromedge = std::make_unique<std::vector<bool>>();
45  auto charge = std::make_unique<std::vector<unsigned int>>();
46  auto path = std::make_unique<std::vector<double>>();
47 #ifdef ExtendedCALIBTree
48  auto chargeoverpath = std::make_unique<std::vector<double>>();
49 #endif
50  auto amplitude = std::make_unique<std::vector<unsigned char>>();
51  auto gainused = std::make_unique<std::vector<double>>();
52  auto gainusedTick = std::make_unique<std::vector<double>>();
53 
54  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
55  iSetup.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
56  m_tracker = &(*theTrackerGeometry);
57  edm::ESHandle<SiStripGain> gainHandle;
58  iSetup.get<SiStripGainRcd>().get(gainHandle);
60  iEvent.getByToken(tracks_token_, tracks);
63 
65  association != associations->end();
66  association++) {
67  const Trajectory* traj = association->key.get();
68  const reco::Track* track = association->val.get();
69 
70  vector<TrajectoryMeasurement> measurements = traj->measurements();
71  for (vector<TrajectoryMeasurement>::const_iterator measurement_it = measurements.begin();
72  measurement_it != measurements.end();
73  measurement_it++) {
74  TrajectoryStateOnSurface trajState = measurement_it->updatedState();
75  if (!trajState.isValid())
76  continue;
77 
78  const TrackingRecHit* hit = (*measurement_it->recHit()).hit();
79  const SiStripRecHit1D* sistripsimple1dhit = dynamic_cast<const SiStripRecHit1D*>(hit);
80  const SiStripRecHit2D* sistripsimplehit = dynamic_cast<const SiStripRecHit2D*>(hit);
81  const SiStripMatchedRecHit2D* sistripmatchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>(hit);
82  const SiPixelRecHit* sipixelhit = dynamic_cast<const SiPixelRecHit*>(hit);
83 
84  const SiPixelCluster* PixelCluster = nullptr;
85  const SiStripCluster* StripCluster = nullptr;
86  uint32_t DetId = 0;
87 
88  for (unsigned int h = 0; h < 2; h++) {
89  if (!sistripmatchedhit && h == 1) {
90  continue;
91  } else if (sistripmatchedhit && h == 0) {
92  StripCluster = &sistripmatchedhit->monoCluster();
93  DetId = sistripmatchedhit->monoId();
94  } else if (sistripmatchedhit && h == 1) {
95  StripCluster = &sistripmatchedhit->stereoCluster();
96  ;
97  DetId = sistripmatchedhit->stereoId();
98  } else if (sistripsimplehit) {
99  StripCluster = (sistripsimplehit->cluster()).get();
100  DetId = sistripsimplehit->geographicalId().rawId();
101  } else if (sistripsimple1dhit) {
102  StripCluster = (sistripsimple1dhit->cluster()).get();
103  DetId = sistripsimple1dhit->geographicalId().rawId();
104  } else if (sipixelhit) {
105  PixelCluster = (sipixelhit->cluster()).get();
106  DetId = sipixelhit->geographicalId().rawId();
107  } else {
108  continue;
109  }
110 
111  LocalVector trackDirection = trajState.localDirection();
112  double cosine = trackDirection.z() / trackDirection.mag();
113  bool Saturation = false;
114  bool Overlapping = false;
115  unsigned int Charge = 0;
116  double Path = (10.0 * thickness(DetId)) / fabs(cosine);
117  double PrevGain = -1;
118  double PrevGainTick = -1;
119  int FirstStrip = 0;
120  int NStrips = 0;
121 
122  if (StripCluster) {
123  const auto& Ampls = StripCluster->amplitudes();
124  FirstStrip = StripCluster->firstStrip();
125  NStrips = Ampls.size();
126  int APVId = FirstStrip / 128;
127 
128  if (gainHandle.isValid()) {
129  PrevGain = gainHandle->getApvGain(APVId, gainHandle->getRange(DetId, 1), 1);
130  PrevGainTick = gainHandle->getApvGain(APVId, gainHandle->getRange(DetId, 0), 1);
131  }
132 
133  for (unsigned int a = 0; a < Ampls.size(); a++) {
134  Charge += Ampls[a];
135  if (Ampls[a] >= 254)
136  Saturation = true;
137  amplitude->push_back(Ampls[a]);
138  }
139 
140  if (FirstStrip == 0)
141  Overlapping = true;
142  if (FirstStrip == 128)
143  Overlapping = true;
144  if (FirstStrip == 256)
145  Overlapping = true;
146  if (FirstStrip == 384)
147  Overlapping = true;
148  if (FirstStrip == 512)
149  Overlapping = true;
150  if (FirstStrip == 640)
151  Overlapping = true;
152 
153  if (FirstStrip <= 127 && FirstStrip + Ampls.size() > 127)
154  Overlapping = true;
155  if (FirstStrip <= 255 && FirstStrip + Ampls.size() > 255)
156  Overlapping = true;
157  if (FirstStrip <= 383 && FirstStrip + Ampls.size() > 383)
158  Overlapping = true;
159  if (FirstStrip <= 511 && FirstStrip + Ampls.size() > 511)
160  Overlapping = true;
161  if (FirstStrip <= 639 && FirstStrip + Ampls.size() > 639)
162  Overlapping = true;
163 
164  if (FirstStrip + Ampls.size() == 127)
165  Overlapping = true;
166  if (FirstStrip + Ampls.size() == 255)
167  Overlapping = true;
168  if (FirstStrip + Ampls.size() == 383)
169  Overlapping = true;
170  if (FirstStrip + Ampls.size() == 511)
171  Overlapping = true;
172  if (FirstStrip + Ampls.size() == 639)
173  Overlapping = true;
174  if (FirstStrip + Ampls.size() == 767)
175  Overlapping = true;
176  } else if (PixelCluster) {
177  const auto& Ampls = PixelCluster->pixelADC();
178  int FirstRow = PixelCluster->minPixelRow();
179  int FirstCol = PixelCluster->minPixelCol();
180  FirstStrip = ((FirstRow / 80) << 3 | (FirstCol / 52)) * 128; //Hack to save the APVId
181  NStrips = 0;
182  Saturation = false;
183  Overlapping = false;
184 
185  for (unsigned int a = 0; a < Ampls.size(); a++) {
186  Charge += Ampls[a];
187  if (Ampls[a] >= 254)
188  Saturation = true;
189  }
190  }
191 #ifdef ExtendedCALIBTree
192  double ChargeOverPath = (double)Charge / Path;
193 #endif
194 
195  trackindex->push_back(shallow::findTrackIndex(tracks, track));
196  rawid->push_back(DetId);
197  localdirx->push_back(trackDirection.x());
198  localdiry->push_back(trackDirection.y());
199  localdirz->push_back(trackDirection.z());
200  firststrip->push_back(FirstStrip);
201  nstrips->push_back(NStrips);
202  saturation->push_back(Saturation);
203  overlapping->push_back(Overlapping);
204  farfromedge->push_back(StripCluster ? IsFarFromBorder(&trajState, DetId, &iSetup) : true);
205  charge->push_back(Charge);
206  path->push_back(Path);
207 #ifdef ExtendedCALIBTree
208  chargeoverpath->push_back(ChargeOverPath);
209 #endif
210  gainused->push_back(PrevGain);
211  gainusedTick->push_back(PrevGainTick);
212  }
213  }
214  }
215 
216  iEvent.put(std::move(trackindex), Prefix + "trackindex" + Suffix);
217  iEvent.put(std::move(rawid), Prefix + "rawid" + Suffix);
218  iEvent.put(std::move(localdirx), Prefix + "localdirx" + Suffix);
219  iEvent.put(std::move(localdiry), Prefix + "localdiry" + Suffix);
220  iEvent.put(std::move(localdirz), Prefix + "localdirz" + Suffix);
221  iEvent.put(std::move(firststrip), Prefix + "firststrip" + Suffix);
222  iEvent.put(std::move(nstrips), Prefix + "nstrips" + Suffix);
223  iEvent.put(std::move(saturation), Prefix + "saturation" + Suffix);
224  iEvent.put(std::move(overlapping), Prefix + "overlapping" + Suffix);
225  iEvent.put(std::move(farfromedge), Prefix + "farfromedge" + Suffix);
226  iEvent.put(std::move(charge), Prefix + "charge" + Suffix);
227  iEvent.put(std::move(path), Prefix + "path" + Suffix);
228 #ifdef ExtendedCALIBTree
229  iEvent.put(std::move(chargeoverpath), Prefix + "chargeoverpath" + Suffix);
230 #endif
231  iEvent.put(std::move(amplitude), Prefix + "amplitude" + Suffix);
232  iEvent.put(std::move(gainused), Prefix + "gainused" + Suffix);
233  iEvent.put(std::move(gainusedTick), Prefix + "gainusedTick" + Suffix);
234 }

References a, CustomPhysics_cfi::amplitude, SiStripCluster::amplitudes(), TrackValidation_cff::association, association_token_, genericTrackCandidates_cff::associations, ALCARECOTkAlJpsiMuMu_cff::charge, PixelTestBeamValidation_cfi::Charge, SiStripRecHit1D::cluster(), SiStripRecHit2D::cluster(), SiPixelRecHit::cluster(), edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator, shallow::findTrackIndex(), SiStripCluster::firstStrip(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), get, SiStripGain::getApvGain(), SiStripGain::getRange(), iEvent, IsFarFromBorder(), edm::ESHandleBase::isValid(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localDirection(), m_tracker, PV3DBase< T, PVType, FrameType >::mag(), Trajectory::measurements(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), SiStripMatchedRecHit2D::monoCluster(), SiStripMatchedRecHit2D::monoId(), eostools::move(), Overlapping, castor_dqm_sourceclient_file_cfg::path, SiPixelCluster::pixelADC(), Prefix, DetId::rawId(), SiStripMatchedRecHit2D::stereoCluster(), SiStripMatchedRecHit2D::stereoId(), Suffix, thickness(), HLT_2018_cff::track, PDWG_EXOHSCP_cff::tracks, tracks_token_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ thickness()

double ShallowGainCalibration::thickness ( DetId  id)
private

Definition at line 328 of file ShallowGainCalibration.cc.

328  {
329  map<DetId, double>::iterator th = m_thicknessMap.find(id);
330  if (th != m_thicknessMap.end())
331  return (*th).second;
332  else {
333  double detThickness = 1.;
334  //compute thickness normalization
335  const GeomDetUnit* it = m_tracker->idToDetUnit(DetId(id));
336  bool isPixel = dynamic_cast<const PixelGeomDetUnit*>(it) != nullptr;
337  bool isStrip = dynamic_cast<const StripGeomDetUnit*>(it) != nullptr;
338  if (!isPixel && !isStrip) {
339  //FIXME throw exception
340  edm::LogWarning("DeDxHitsProducer") << "\t\t this detID doesn't seem to belong to the Tracker";
341  detThickness = 1.;
342  } else {
343  detThickness = it->surface().bounds().thickness();
344  }
345 
346  m_thicknessMap[id] = detThickness; //computed value
347  return detThickness;
348  }
349 }

References triggerObjects_cff::id, TrackerGeometry::idToDetUnit(), fastTrackerRecHitType::isPixel(), m_thicknessMap, and m_tracker.

Referenced by produce().

Member Data Documentation

◆ association_token_

const edm::EDGetTokenT<TrajTrackAssociationCollection> ShallowGainCalibration::association_token_
private

Definition at line 59 of file ShallowGainCalibration.h.

Referenced by produce().

◆ m_thicknessMap

std::map<DetId, double> ShallowGainCalibration::m_thicknessMap
private

Definition at line 71 of file ShallowGainCalibration.h.

Referenced by thickness().

◆ m_tracker

const TrackerGeometry* ShallowGainCalibration::m_tracker
private

Definition at line 70 of file ShallowGainCalibration.h.

Referenced by produce(), and thickness().

◆ Prefix

std::string ShallowGainCalibration::Prefix
private

Definition at line 62 of file ShallowGainCalibration.h.

Referenced by produce(), and ShallowGainCalibration().

◆ Suffix

std::string ShallowGainCalibration::Suffix
private

Definition at line 61 of file ShallowGainCalibration.h.

Referenced by produce(), and ShallowGainCalibration().

◆ tracks_token_

const edm::EDGetTokenT<edm::View<reco::Track> > ShallowGainCalibration::tracks_token_
private

Definition at line 58 of file ShallowGainCalibration.h.

Referenced by produce().

Vector3DBase< float, LocalTag >
genericTrackCandidates_cff.associations
associations
Definition: genericTrackCandidates_cff.py:45
SiPixelCluster::minPixelCol
int minPixelCol() const
Definition: SiPixelCluster.h:140
SiStripMatchedRecHit2D::monoId
unsigned int monoId() const
Definition: SiStripMatchedRecHit2D.h:29
SiStripGainRcd
Definition: SiStripDependentRecords.h:29
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
ShallowGainCalibration::association_token_
const edm::EDGetTokenT< TrajTrackAssociationCollection > association_token_
Definition: ShallowGainCalibration.h:59
SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
ProducerES_cfi.HalfLength
HalfLength
Definition: ProducerES_cfi.py:87
CustomPhysics_cfi.amplitude
amplitude
Definition: CustomPhysics_cfi.py:12
GeomDet
Definition: GeomDet.h:27
SiStripMatchedRecHit2D::stereoCluster
SiStripCluster const & stereoCluster() const
Definition: SiStripMatchedRecHit2D.h:40
LocalTrajectoryError::positionError
LocalError positionError() const
Definition: LocalTrajectoryError.h:81
ShallowGainCalibration::m_tracker
const TrackerGeometry * m_tracker
Definition: ShallowGainCalibration.h:70
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
gather_cfg.cout
cout
Definition: gather_cfg.py:144
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
SiPixelCluster
Pixel cluster – collection of neighboring pixels above threshold.
Definition: SiPixelCluster.h:27
edm::Handle
Definition: AssociativeIterator.h:50
SiPixelRecHit::cluster
ClusterRef cluster() const
Definition: SiPixelRecHit.h:47
TrackingRecHit::geographicalId
DetId geographicalId() const
Definition: TrackingRecHit.h:120
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
Bounds::length
virtual float length() const =0
parameters
parameters
Definition: BeamSpot_PayloadInspector.cc:14
SiStripCluster::firstStrip
uint16_t firstStrip() const
Definition: SiStripCluster.h:38
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
TrajectoryStateOnSurface::localDirection
LocalVector localDirection() const
Definition: TrajectoryStateOnSurface.h:76
SiStripGain::getRange
const SiStripApvGain::Range getRange(uint32_t detID) const
Definition: SiStripGain.h:71
SiPixelCluster::minPixelRow
int minPixelRow() const
Definition: SiPixelCluster.h:138
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
Surface::bounds
const Bounds & bounds() const
Definition: Surface.h:87
reco::Track
Definition: Track.h:27
edm::ESHandle< TrackerGeometry >
Point3DBase< float, LocalTag >
SiPixelCluster::pixelADC
const std::vector< uint16_t > & pixelADC() const
Definition: SiPixelCluster.h:144
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiStripGain::getApvGain
static float getApvGain(const uint16_t &apv, const SiStripApvGain::Range &range)
Definition: SiStripGain.h:76
edm::LogWarning
Definition: MessageLogger.h:141
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator
friend struct const_iterator
Definition: AssociationMap.h:274
edm::View
Definition: CaloClusterFwd.h:14
TrajectoryStateOnSurface::localPosition
LocalPoint localPosition() const
Definition: TrajectoryStateOnSurface.h:74
SiStripMatchedRecHit2D::stereoId
unsigned int stereoId() const
Definition: SiStripMatchedRecHit2D.h:28
a
double a
Definition: hdecay.h:119
fastTrackerRecHitType::isPixel
bool isPixel(HitType hitType)
Definition: FastTrackerRecHit.h:37
LocalError
Definition: LocalError.h:12
edm::Path
Definition: Path.h:44
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
SiStripCluster::amplitudes
const std::vector< uint8_t > & amplitudes() const
Definition: SiStripCluster.h:51
iEvent
int iEvent
Definition: GenABIO.cc:224
ShallowGainCalibration::thickness
double thickness(DetId id)
Definition: ShallowGainCalibration.cc:328
ShallowGainCalibration::tracks_token_
const edm::EDGetTokenT< edm::View< reco::Track > > tracks_token_
Definition: ShallowGainCalibration.h:58
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
ShallowGainCalibration::m_thicknessMap
std::map< DetId, double > m_thicknessMap
Definition: ShallowGainCalibration.h:71
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
TrapezoidalPlaneBounds
Definition: TrapezoidalPlaneBounds.h:15
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
TrackValidation_cff.association
association
Definition: TrackValidation_cff.py:286
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
TrackingRecHit
Definition: TrackingRecHit.h:21
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RectangularPlaneBounds
Definition: RectangularPlaneBounds.h:12
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
Trajectory
Definition: Trajectory.h:38
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
DuplicateTrackType::Overlapping
SiStripMatchedRecHit2D::monoCluster
SiStripCluster const & monoCluster() const
Definition: SiStripMatchedRecHit2D.h:41
BoundPlane
ShallowGainCalibration::IsFarFromBorder
bool IsFarFromBorder(TrajectoryStateOnSurface *trajState, const uint32_t detid, const edm::EventSetup *iSetup)
Definition: ShallowGainCalibration.cc:291
PixelTestBeamValidation_cfi.Charge
Charge
Definition: PixelTestBeamValidation_cfi.py:78
ShallowGainCalibration::Prefix
std::string Prefix
Definition: ShallowGainCalibration.h:62
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:126
ShallowGainCalibration::Suffix
std::string Suffix
Definition: ShallowGainCalibration.h:61
TrajectoryStateOnSurface::localError
const LocalTrajectoryError & localError() const
Definition: TrajectoryStateOnSurface.h:77
SiStripCluster
Definition: SiStripCluster.h:9
LocalError::yy
float yy() const
Definition: LocalError.h:24
edm::InputTag
Definition: InputTag.h:15
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
hit
Definition: SiStripHitEffFromCalibTree.cc:88
shallow::findTrackIndex
int findTrackIndex(const edm::Handle< edm::View< reco::Track > > &h, const reco::Track *t)
Definition: ShallowTools.cc:25