CMS 3D CMS Logo

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

#include <AlignmentPrescaler.h>

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

Public Member Functions

 AlignmentPrescaler (const edm::ParameterSet &iConfig)
 
void beginJob () override
 
void endJob () override
 
void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 ~AlignmentPrescaler () override
 
- 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

int layerFromId (const DetId &id, const TrackerTopology *tTopo) const
 

Private Attributes

unsigned int detid_
 
TFile * fpresc_
 
float hitPrescFactor_
 
TRandom3 * myrand_
 
float overlapPrescFactor_
 
std::string prescfilename_
 
std::string presctreename_
 
edm::InputTag src_
 
edm::InputTag srcQualityMap_
 
int totnhitspxl_
 
TTree * tpresc_
 

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 23 of file AlignmentPrescaler.h.

Constructor & Destructor Documentation

◆ AlignmentPrescaler()

AlignmentPrescaler::AlignmentPrescaler ( const edm::ParameterSet iConfig)

Definition at line 28 of file AlignmentPrescaler.cc.

29  : src_(iConfig.getParameter<edm::InputTag>("src")),
30  srcQualityMap_(iConfig.getParameter<edm::InputTag>("assomap")),
31  prescfilename_(iConfig.getParameter<std::string>("PrescFileName")),
32  presctreename_(iConfig.getParameter<std::string>("PrescTreeName")) {
33  // issue the produce<>
34  produces<AliClusterValueMap>();
35  produces<AliTrackTakenClusterValueMap>();
36 }

◆ ~AlignmentPrescaler()

AlignmentPrescaler::~AlignmentPrescaler ( )
override

Definition at line 38 of file AlignmentPrescaler.cc.

38  {
39  //
40 }

Member Function Documentation

◆ beginJob()

void AlignmentPrescaler::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDProducer.

Definition at line 42 of file AlignmentPrescaler.cc.

42  {
43  //
44  std::cout << "in AlignmentPrescaler::beginJob" << std::flush;
45  fpresc_ = new TFile(prescfilename_.c_str(), "READ");
46  tpresc_ = (TTree*)fpresc_->Get(presctreename_.c_str());
47  tpresc_->BuildIndex("DetId");
48  tpresc_->SetBranchStatus("*", false);
49  tpresc_->SetBranchStatus("DetId", true);
50  tpresc_->SetBranchStatus("PrescaleFactor", true);
51  tpresc_->SetBranchStatus("PrescaleFactorOverlap", true);
52  cout << " Branches activated " << std::flush;
53  detid_ = 0;
54  hitPrescFactor_ = 99.0;
55  overlapPrescFactor_ = 88.0;
56 
57  tpresc_->SetBranchAddress("DetId", &detid_);
58  tpresc_->SetBranchAddress("PrescaleFactor", &hitPrescFactor_);
59  tpresc_->SetBranchAddress("PrescaleFactorOverlap", &overlapPrescFactor_);
60  cout << " addressed " << std::flush;
61  myrand_ = new TRandom3();
62  // myrand_->SetSeed();
63  cout << " ok " << std::endl;
64 }

References gather_cfg::cout, detid_, fpresc_, hitPrescFactor_, myrand_, overlapPrescFactor_, prescfilename_, presctreename_, and tpresc_.

◆ endJob()

void AlignmentPrescaler::endJob ( void  )
overridevirtual

Reimplemented from edm::EDProducer.

Definition at line 66 of file AlignmentPrescaler.cc.

66  {
67  delete tpresc_;
68  fpresc_->Close();
69  delete fpresc_;
70  delete myrand_;
71 }

References fpresc_, myrand_, and tpresc_.

Referenced by o2olib.O2ORunMgr::executeJob().

◆ layerFromId()

int AlignmentPrescaler::layerFromId ( const DetId id,
const TrackerTopology tTopo 
) const
private

Definition at line 230 of file AlignmentPrescaler.cc.

230  {
231  if (uint32_t(id.subdetId()) == PixelSubdetector::PixelBarrel) {
232  return tTopo->pxbLayer(id);
233  } else if (uint32_t(id.subdetId()) == PixelSubdetector::PixelEndcap) {
234  return tTopo->pxfDisk(id) + (3 * (tTopo->pxfSide(id) - 1));
235  } else if (id.subdetId() == StripSubdetector::TIB) {
236  return tTopo->tibLayer(id);
237  } else if (id.subdetId() == StripSubdetector::TOB) {
238  return tTopo->tobLayer(id);
239  } else if (id.subdetId() == StripSubdetector::TEC) {
240  return tTopo->tecWheel(id) + (9 * (tTopo->pxfSide(id) - 1));
241  } else if (id.subdetId() == StripSubdetector::TID) {
242  return tTopo->tidWheel(id) + (3 * (tTopo->tidSide(id) - 1));
243  }
244  return -1;
245 
246 } //end layerfromId

References PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfSide(), StripSubdetector::TEC, TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, and TrackerTopology::tobLayer().

◆ produce()

void AlignmentPrescaler::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::EDProducer.

Definition at line 73 of file AlignmentPrescaler.cc.

73  {
74  // std::cout<<"\n\n#################\n### Starting the AlignmentPrescaler::produce ; Event: "<<iEvent.id().run() <<", "<<iEvent.id().event()<<std::endl;
76  iEvent.getByLabel(src_, Tracks);
77 
78  //take HitAssomap
80  iEvent.getByLabel(srcQualityMap_, hMap);
81  AliClusterValueMap InValMap = *hMap;
82 
83  //prepare the output of the ValueMap flagging tracks
84  std::vector<int> trackflags(Tracks->size(), 0);
85 
86  //int npxlhits=0;
87 
88  //loop on tracks
89  for (std::vector<reco::Track>::const_iterator ittrk = Tracks->begin(), edtrk = Tracks->end(); ittrk != edtrk;
90  ++ittrk) {
91  //loop on tracking rechits
92  // std::cout << "Loop on hits of track #" << (ittrk - Tracks->begin()) << std::endl;
93  int nhit = 0;
94  int ntakenhits = 0;
95  bool firstTakenHit = false;
96 
97  for (auto const& hit : ittrk->recHits()) {
98  if (!hit->isValid()) {
99  nhit++;
100  continue;
101  }
102  uint32_t tmpdetid = hit->geographicalId().rawId();
103  tpresc_->GetEntryWithIndex(tmpdetid);
104 
105  //-------------
106  //decide whether to take this hit or not
107  bool takeit = false;
108  int subdetId = hit->geographicalId().subdetId();
109 
110  //check first if the cluster is also in the overlap asso map
111  bool isOverlapHit = false;
112  // bool first=true;
113  //ugly...
114  const SiPixelRecHit* pixelhit = dynamic_cast<const SiPixelRecHit*>(hit);
115  const SiStripRecHit1D* stripHit1D = dynamic_cast<const SiStripRecHit1D*>(hit);
116  const SiStripRecHit2D* stripHit2D = dynamic_cast<const SiStripRecHit2D*>(hit);
117 
118  AlignmentClusterFlag tmpflag(hit->geographicalId());
119  int stripType = 0;
120  if (subdetId > 2) { // SST case
121  const std::type_info& type = typeid(*hit);
122  if (type == typeid(SiStripRecHit1D))
123  stripType = 1;
124  else if (type == typeid(SiStripRecHit2D))
125  stripType = 2;
126  else
127  stripType = 3;
128 
129  if (stripType == 1) {
130  // const SiStripRecHit1D* stripHit1D = dynamic_cast<const SiStripRecHit1D*>(hit);
131 
132  if (stripHit1D != nullptr) {
133  SiStripRecHit1D::ClusterRef stripclust(stripHit1D->cluster());
134  tmpflag = InValMap[stripclust];
135  tmpflag.SetDetId(hit->geographicalId());
136  if (tmpflag.isOverlap())
137  isOverlapHit = true;
138  // std::cout<<"~*~*~* Prescale (1D) for module "<<tmpflag.detId().rawId()<<"("<<InValMap[stripclust].detId().rawId() <<") is "<<hitPrescFactor_<<std::flush;
139  // if(tmpflag.isOverlap())cout<<" (it is Overlap)"<<endl;
140  // else cout<<endl;
141 
142  } //end if striphit1D!=0
143  } else if (stripType == 2) {
144  //const SiStripRecHit2D* stripHit2D = dynamic_cast<const SiStripRecHit2D*>(hit);
145  if (stripHit2D != nullptr) {
146  SiStripRecHit2D::ClusterRef stripclust(stripHit2D->cluster());
147  tmpflag = InValMap[stripclust];
148  tmpflag.SetDetId(hit->geographicalId());
149  if (tmpflag.isOverlap())
150  isOverlapHit = true;
151  // std::cout<<"~*~*~* Prescale (2D) for module "<<tmpflag.detId().rawId()<<"("<<InValMap[stripclust].detId().rawId() <<") is "<<hitPrescFactor_<<std::flush;
152  // if(tmpflag.isOverlap())cout<<" (it is Overlap)"<<endl;
153  // else cout<<endl;
154 
155  } //end if striphit2D!=0
156  }
157  } //end if is a strip hit
158  else {
159  // const SiPixelRecHit* pixelhit= dynamic_cast<const SiPixelRecHit*>(hit);
160  if (pixelhit != nullptr) {
161  //npxlhits++;
162  SiPixelClusterRefNew pixclust(pixelhit->cluster());
163  tmpflag = InValMap[pixclust];
164  tmpflag.SetDetId(hit->geographicalId());
165  if (tmpflag.isOverlap())
166  isOverlapHit = true;
167  }
168  } //end else is a pixel hit
169  // tmpflag.SetDetId(hit->geographicalId());
170 
171  if (isOverlapHit) {
172  //cout<<" DetId="<<tmpdetid<<" is Overlap! "<<flush;
173  takeit = (float(myrand_->Rndm()) <= overlapPrescFactor_);
174  }
175  if (!takeit) {
176  float rr = float(myrand_->Rndm());
177  takeit = (rr <= hitPrescFactor_);
178  }
179  if (takeit) { //HIT TAKEN !
180  //cout<<" DetId="<<tmpdetid<<" taken!"<<flush;
181  tmpflag.SetTakenFlag();
182 
183  if (subdetId > 2) {
184  if (stripType == 1) {
185  SiStripRecHit1D::ClusterRef stripclust(stripHit1D->cluster());
186  InValMap[stripclust] = tmpflag; //.SetTakenFlag();
187  } else if (stripType == 2) {
188  SiStripRecHit1D::ClusterRef stripclust(stripHit2D->cluster());
189  InValMap[stripclust] = tmpflag; //.SetTakenFlag();
190  } else
191  std::cout << "Unknown type of strip hit" << std::endl;
192  } else {
193  SiPixelClusterRefNew pixclust(pixelhit->cluster());
194  InValMap[pixclust] = tmpflag; //.SetTakenFlag();
195  }
196 
197  if (!firstTakenHit) {
198  firstTakenHit = true;
199  //std::cout<<"Index of the track iterator is "<< ittrk-Tracks->begin() <<endl;
200  }
201  ntakenhits++;
202  } //end if take this hit
203  //cout<<endl;
204 
205  nhit++;
206  //cout<<endl;
207  } //end loop on RecHits
208  trackflags[ittrk - Tracks->begin()] = ntakenhits;
209 
210  } //end loop on tracks
211 
212  // totnhitspxl_+=ntakenhits;
213  //cout<<"AlignmentPrescaler::produce says that in this event "<<ntakenhits<<" pixel clusters were taken (out of "<<npxlhits<<" total pixel hits."<<endl;
214 
215  //save the asso map, tracks...
216  // prepare output
217  auto OutVM = std::make_unique<AliClusterValueMap>();
218  *OutVM = InValMap;
219 
220  iEvent.put(std::move(OutVM));
221 
222  auto trkVM = std::make_unique<AliTrackTakenClusterValueMap>();
223  AliTrackTakenClusterValueMap::Filler trkmapfiller(*trkVM);
224  trkmapfiller.insert(Tracks, trackflags.begin(), trackflags.end());
225  trkmapfiller.fill();
226  iEvent.put(std::move(trkVM));
227 
228 } //end produce

References SiStripRecHit1D::cluster(), SiStripRecHit2D::cluster(), gather_cfg::cout, edm::helper::Filler< Map >::fill(), dqmMemoryStats::float, hitPrescFactor_, iEvent, edm::helper::Filler< Map >::insert(), eostools::move(), myrand_, overlapPrescFactor_, pixelClusterTagInfos_cfi::pixelhit, findQualityFiles::rr, src_, srcQualityMap_, tpresc_, and gather_cfg::Tracks.

Member Data Documentation

◆ detid_

unsigned int AlignmentPrescaler::detid_
private

Definition at line 44 of file AlignmentPrescaler.h.

Referenced by beginJob().

◆ fpresc_

TFile* AlignmentPrescaler::fpresc_
private

Definition at line 38 of file AlignmentPrescaler.h.

Referenced by beginJob(), and endJob().

◆ hitPrescFactor_

float AlignmentPrescaler::hitPrescFactor_
private

Definition at line 45 of file AlignmentPrescaler.h.

Referenced by beginJob(), and produce().

◆ myrand_

TRandom3* AlignmentPrescaler::myrand_
private

Definition at line 40 of file AlignmentPrescaler.h.

Referenced by beginJob(), endJob(), and produce().

◆ overlapPrescFactor_

float AlignmentPrescaler::overlapPrescFactor_
private

Definition at line 45 of file AlignmentPrescaler.h.

Referenced by beginJob(), and produce().

◆ prescfilename_

std::string AlignmentPrescaler::prescfilename_
private

Definition at line 35 of file AlignmentPrescaler.h.

Referenced by beginJob().

◆ presctreename_

std::string AlignmentPrescaler::presctreename_
private

Definition at line 36 of file AlignmentPrescaler.h.

Referenced by beginJob().

◆ src_

edm::InputTag AlignmentPrescaler::src_
private

Definition at line 32 of file AlignmentPrescaler.h.

Referenced by produce().

◆ srcQualityMap_

edm::InputTag AlignmentPrescaler::srcQualityMap_
private

Definition at line 33 of file AlignmentPrescaler.h.

Referenced by produce().

◆ totnhitspxl_

int AlignmentPrescaler::totnhitspxl_
private

Definition at line 46 of file AlignmentPrescaler.h.

◆ tpresc_

TTree* AlignmentPrescaler::tpresc_
private

Definition at line 39 of file AlignmentPrescaler.h.

Referenced by beginJob(), endJob(), and produce().

SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
AlignmentPrescaler::fpresc_
TFile * fpresc_
Definition: AlignmentPrescaler.h:38
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
AlignmentPrescaler::myrand_
TRandom3 * myrand_
Definition: AlignmentPrescaler.h:40
findQualityFiles.rr
string rr
Definition: findQualityFiles.py:185
AlignmentPrescaler::presctreename_
std::string presctreename_
Definition: AlignmentPrescaler.h:36
gather_cfg.cout
cout
Definition: gather_cfg.py:144
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
AlignmentPrescaler::prescfilename_
std::string prescfilename_
Definition: AlignmentPrescaler.h:35
edm::Handle< reco::TrackCollection >
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
edm::Ref
Definition: AssociativeIterator.h:58
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
pixelClusterTagInfos_cfi.pixelhit
pixelhit
Definition: pixelClusterTagInfos_cfi.py:6
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
AlignmentPrescaler::tpresc_
TTree * tpresc_
Definition: AlignmentPrescaler.h:39
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
AlignmentPrescaler::srcQualityMap_
edm::InputTag srcQualityMap_
Definition: AlignmentPrescaler.h:33
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
iEvent
int iEvent
Definition: GenABIO.cc:224
gather_cfg.Tracks
Tracks
Definition: gather_cfg.py:251
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
AlignmentPrescaler::src_
edm::InputTag src_
Definition: AlignmentPrescaler.h:32
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
type
type
Definition: HCALResponse.h:21
eostools.move
def move(src, dest)
Definition: eostools.py:511
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
edm::ValueMap
Definition: ValueMap.h:107
AlignmentPrescaler::detid_
unsigned int detid_
Definition: AlignmentPrescaler.h:44
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
AlignmentPrescaler::hitPrescFactor_
float hitPrescFactor_
Definition: AlignmentPrescaler.h:45
AlignmentPrescaler::overlapPrescFactor_
float overlapPrescFactor_
Definition: AlignmentPrescaler.h:45
edm::helper::Filler
Definition: ValueMap.h:22
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
edm::InputTag
Definition: InputTag.h:15
AlignmentClusterFlag
Definition: AlignmentClusterFlag.h:15
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
hit
Definition: SiStripHitEffFromCalibTree.cc:88
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150