CMS 3D CMS Logo

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

#include <Alignment/TrackerAlignment/plugins/TrackerTreeGenerator.cc>

Inheritance diagram for TrackerTreeGenerator:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 TrackerTreeGenerator (const edm::ParameterSet &)
 
 ~TrackerTreeGenerator () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 

Private Attributes

edm::ParameterSet config_
 
const bool createEntryForDoubleSidedModule_
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgeomDetToken_
 
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcdptitpToken_
 
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcdptpToken_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 
std::vector< TrackerTreeVariablesvTkTreeVar_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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

Description: <one line="" class="" summary>=""> Implementation: <Notes on="" implementation>="">

Definition at line 65 of file TrackerTreeGenerator.cc.

Constructor & Destructor Documentation

◆ TrackerTreeGenerator()

TrackerTreeGenerator::TrackerTreeGenerator ( const edm::ParameterSet config)
explicit

Definition at line 97 of file TrackerTreeGenerator.cc.

102  createEntryForDoubleSidedModule_(config.getParameter<bool>("createEntryForDoubleSidedModule")),
103  config_(config) {
104  usesResource(TFileService::kSharedResource);
105 }

References TFileService::kSharedResource.

◆ ~TrackerTreeGenerator()

TrackerTreeGenerator::~TrackerTreeGenerator ( )
overridedefault

Member Function Documentation

◆ analyze()

void TrackerTreeGenerator::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 112 of file TrackerTreeGenerator.cc.

112  {
113  // now try to take directly the ideal geometry independent of used geometry in Global Tag
114  const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_);
115  const PTrackerParameters& ptp = iSetup.getData(ptpToken_);
117  const TrackerTopology* tTopo = &iSetup.getData(topoToken_);
118 
119  TrackerGeomBuilderFromGeometricDet trackerBuilder;
120  const TrackerGeometry* tkGeom = trackerBuilder.build(geometricDet, ptitp, ptp, tTopo);
121  AlignableTracker alignableTracker{tkGeom, tTopo};
122  const auto& ns = alignableTracker.trackerNameSpace();
123 
124  edm::LogInfo("TrackerTreeGenerator") << "@SUB=TrackerTreeGenerator::analyze"
125  << "There are " << tkGeom->detIds().size() << " dets and "
126  << tkGeom->detUnitIds().size() << " detUnits in the Geometry Record";
127 
129  edm::LogInfo("TrackerTreeGenerator") << "@SUB=TrackerTreeGenerator::analyze"
130  << "Create entry for each module AND one entry for virtual "
131  << "double-sided module in addition";
132  } else {
133  edm::LogInfo("TrackerTreeGenerator") << "@SUB=TrackerTreeGenerator::analyze"
134  << "Create one entry for each physical module, do NOT create additional "
135  << "entry for virtual double-sided module";
136  }
137 
138  for (const auto& detId : tkGeom->detIds()) {
139  const GeomDet& geomDet = *tkGeom->idToDet(detId);
140  const Surface& surface = geomDet.surface();
141 
142  TrackerTreeVariables tkTreeVar;
143  const auto rawId = detId.rawId();
144  tkTreeVar.rawId = rawId;
145  tkTreeVar.subdetId = detId.subdetId();
146 
147  switch (tkTreeVar.subdetId) {
149  tkTreeVar.layer = tTopo->pxbLayer(detId);
150  tkTreeVar.half = ns.tpb().halfBarrelNumber(rawId);
151  tkTreeVar.rod = tTopo->pxbLadder(detId); // ... so, ladder is not per halfBarrel-Layer, but per barrel-layer!
152  tkTreeVar.module = tTopo->pxbModule(detId);
153  break;
155  tkTreeVar.layer = tTopo->pxfDisk(detId);
156  tkTreeVar.side = tTopo->pxfSide(detId);
157  tkTreeVar.half = ns.tpe().halfCylinderNumber(rawId);
158  tkTreeVar.blade = tTopo->pxfBlade(detId);
159  tkTreeVar.panel = tTopo->pxfPanel(detId);
160  tkTreeVar.module = tTopo->pxfModule(detId);
161  break;
163  tkTreeVar.layer = tTopo->tibLayer(detId);
164  tkTreeVar.side = tTopo->tibStringInfo(detId)[0];
165  tkTreeVar.half = ns.tib().halfShellNumber(rawId);
166  tkTreeVar.rod = tTopo->tibStringInfo(detId)[2];
167  tkTreeVar.outerInner = tTopo->tibStringInfo(detId)[1];
168  tkTreeVar.module = tTopo->tibModule(detId);
169  tkTreeVar.isDoubleSide = tTopo->tibIsDoubleSide(detId);
170  tkTreeVar.isRPhi = tTopo->tibIsRPhi(detId);
171  tkTreeVar.isStereo = tTopo->tibIsStereo(detId);
172  break;
174  tkTreeVar.layer = tTopo->tidWheel(detId);
175  tkTreeVar.side = tTopo->tidSide(detId);
176  tkTreeVar.ring = tTopo->tidRing(detId);
177  tkTreeVar.outerInner = tTopo->tidModuleInfo(detId)[0];
178  tkTreeVar.module = tTopo->tidModuleInfo(detId)[1];
179  tkTreeVar.isDoubleSide = tTopo->tidIsDoubleSide(detId);
180  tkTreeVar.isRPhi = tTopo->tidIsRPhi(detId);
181  tkTreeVar.isStereo = tTopo->tidIsStereo(detId);
182  break;
184  tkTreeVar.layer = tTopo->tobLayer(detId);
185  tkTreeVar.side = tTopo->tobRodInfo(detId)[0];
186  tkTreeVar.rod = tTopo->tobRodInfo(detId)[1];
187  tkTreeVar.module = tTopo->tobModule(detId);
188  tkTreeVar.isDoubleSide = tTopo->tobIsDoubleSide(detId);
189  tkTreeVar.isRPhi = tTopo->tobIsRPhi(detId);
190  tkTreeVar.isStereo = tTopo->tobIsStereo(detId);
191  break;
193  tkTreeVar.layer = tTopo->tecWheel(detId);
194  tkTreeVar.side = tTopo->tecSide(detId);
195  tkTreeVar.ring = tTopo->tecRing(detId);
196  tkTreeVar.petal = tTopo->tecPetalInfo(detId)[1];
197  tkTreeVar.outerInner = tTopo->tecPetalInfo(detId)[0];
198  tkTreeVar.module = tTopo->tecModule(detId);
199  tkTreeVar.isDoubleSide = tTopo->tecIsDoubleSide(detId);
200  tkTreeVar.isRPhi = tTopo->tecIsRPhi(detId);
201  tkTreeVar.isStereo = tTopo->tecIsStereo(detId);
202  break;
203  }
204 
205  LocalPoint lPModule(0., 0., 0.), lUDirection(1., 0., 0.), lVDirection(0., 1., 0.), lWDirection(0., 0., 1.);
206  GlobalPoint gPModule = surface.toGlobal(lPModule), gUDirection = surface.toGlobal(lUDirection),
207  gVDirection = surface.toGlobal(lVDirection), gWDirection = surface.toGlobal(lWDirection);
208  double dR(999.), dPhi(999.), dZ(999.);
209  switch (tkTreeVar.subdetId) {
213  dR = gWDirection.perp() - gPModule.perp();
214  dPhi = deltaPhi(gUDirection.barePhi(), gPModule.barePhi());
215  dZ = gVDirection.z() - gPModule.z();
216  tkTreeVar.uDirection = dPhi > 0. ? 1 : -1;
217  tkTreeVar.vDirection = dZ > 0. ? 1 : -1;
218  tkTreeVar.wDirection = dR > 0. ? 1 : -1;
219  break;
221  dR = gUDirection.perp() - gPModule.perp();
222  dPhi = deltaPhi(gVDirection.barePhi(), gPModule.barePhi());
223  dZ = gWDirection.z() - gPModule.z();
224  tkTreeVar.uDirection = dR > 0. ? 1 : -1;
225  tkTreeVar.vDirection = dPhi > 0. ? 1 : -1;
226  tkTreeVar.wDirection = dZ > 0. ? 1 : -1;
227  break;
230  dR = gVDirection.perp() - gPModule.perp();
231  dPhi = deltaPhi(gUDirection.barePhi(), gPModule.barePhi());
232  dZ = gWDirection.z() - gPModule.z();
233  tkTreeVar.uDirection = dPhi > 0. ? 1 : -1;
234  tkTreeVar.vDirection = dR > 0. ? 1 : -1;
235  tkTreeVar.wDirection = dZ > 0. ? 1 : -1;
236  break;
237  }
238  tkTreeVar.posR = gPModule.perp();
239  tkTreeVar.posPhi = gPModule.barePhi(); // = gPModule.barePhi().degrees();
240  tkTreeVar.posEta = gPModule.eta();
241  tkTreeVar.posX = gPModule.x();
242  tkTreeVar.posY = gPModule.y();
243  tkTreeVar.posZ = gPModule.z();
244 
245  if (auto stripGeomDetUnit = dynamic_cast<const StripGeomDetUnit*>(&geomDet)) { //is it a single physical module?
246  switch (tkTreeVar.subdetId) {
251  auto& topol = dynamic_cast<const StripTopology&>(stripGeomDetUnit->specificTopology());
252  tkTreeVar.nStrips = topol.nstrips();
253  break;
254  }
255  }
256 
258  // do so only for individual modules and not also one entry for the combined doubleSided Module
259  if (tkTreeVar.isDoubleSide)
260  continue;
261  }
262  vTkTreeVar_.push_back(tkTreeVar);
263  }
264 }

References PV3DBase< T, PVType, FrameType >::barePhi(), TrackerTreeVariables::blade, TrackerGeomBuilderFromGeometricDet::build(), createEntryForDoubleSidedModule_, SiPixelRawToDigiRegional_cfi::deltaPhi, TrackerGeometry::detIds(), TrackerGeometry::detUnitIds(), HLT_FULL_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), geomDetToken_, edm::EventSetup::getData(), TrackerTreeVariables::half, TrackerGeometry::idToDet(), TrackerTreeVariables::isDoubleSide, TrackerTreeVariables::isRPhi, TrackerTreeVariables::isStereo, TrackerTreeVariables::layer, TrackerTreeVariables::module, TrackerTreeVariables::nStrips, TrackerTreeVariables::outerInner, TrackerTreeVariables::panel, PV3DBase< T, PVType, FrameType >::perp(), TrackerTreeVariables::petal, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, TrackerTreeVariables::posEta, TrackerTreeVariables::posPhi, TrackerTreeVariables::posR, TrackerTreeVariables::posX, TrackerTreeVariables::posY, TrackerTreeVariables::posZ, ptitpToken_, ptpToken_, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), TrackerTopology::pxfSide(), TrackerTreeVariables::rawId, TrackerTreeVariables::ring, TrackerTreeVariables::rod, TrackerTreeVariables::side, TrackerTreeVariables::subdetId, GeomDet::surface(), StripSubdetector::TEC, TrackerTopology::tecIsDoubleSide(), TrackerTopology::tecIsRPhi(), TrackerTopology::tecIsStereo(), TrackerTopology::tecModule(), TrackerTopology::tecPetalInfo(), TrackerTopology::tecRing(), TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibIsDoubleSide(), TrackerTopology::tibIsRPhi(), TrackerTopology::tibIsStereo(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibStringInfo(), StripSubdetector::TID, TrackerTopology::tidIsDoubleSide(), TrackerTopology::tidIsRPhi(), TrackerTopology::tidIsStereo(), TrackerTopology::tidModuleInfo(), TrackerTopology::tidRing(), TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, TrackerTopology::tobIsDoubleSide(), TrackerTopology::tobIsRPhi(), TrackerTopology::tobIsStereo(), TrackerTopology::tobLayer(), TrackerTopology::tobModule(), TrackerTopology::tobRodInfo(), Surface::toGlobal(), topoToken_, TrackerTreeVariables::uDirection, TrackerTreeVariables::vDirection, vTkTreeVar_, TrackerTreeVariables::wDirection, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ beginJob()

void TrackerTreeGenerator::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 267 of file TrackerTreeGenerator.cc.

267 {}

◆ endJob()

void TrackerTreeGenerator::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 270 of file TrackerTreeGenerator.cc.

270  {
271  UInt_t rawId(999), subdetId(999), layer(999), side(999), half(999), rod(999), ring(999), petal(999), blade(999),
272  panel(999), outerInner(999), module(999), nStrips(999);
273  Bool_t isDoubleSide(false), isRPhi(false), isStereo(false);
274  Int_t uDirection(999), vDirection(999), wDirection(999);
275  Float_t posR(999.F), posPhi(999.F), posEta(999.F), posX(999.F), posY(999.F), posZ(999.F);
276 
277  edm::Service<TFileService> fileService;
278  TFileDirectory treeDir = fileService->mkdir("TrackerTree");
279  auto trackerTree{treeDir.make<TTree>("TrackerTree", "IDs of all modules (ideal geometry)")};
280  trackerTree->Branch("RawId", &rawId, "RawId/i");
281  trackerTree->Branch("SubdetId", &subdetId, "SubdetId/i");
282  trackerTree->Branch("Layer", &layer, "Layer/i"); // Barrel: Layer, Forward: Disk
283  trackerTree->Branch("Side", &side, "Side/i"); // Rod/Ring in +z or -z
284  trackerTree->Branch("Half", &half, "Half/i"); // PXB: HalfBarrel, PXF: HalfCylinder, TIB: HalfShell
285  trackerTree->Branch("Rod", &rod, "Rod/i"); // Barrel (Ladder or String or Rod)
286  trackerTree->Branch("Ring", &ring, "Ring/i"); // Forward
287  trackerTree->Branch("Petal", &petal, "Petal/i"); // TEC
288  trackerTree->Branch("Blade", &blade, "Blade/i"); // PXF
289  trackerTree->Branch("Panel", &panel, "Panel/i"); // PXF
290  trackerTree->Branch("OuterInner", &outerInner, "OuterInner/i"); // front/back String,Ring,Petal
291  trackerTree->Branch("Module", &module, "Module/i"); // Module ID
292  trackerTree->Branch("NStrips", &nStrips, "NStrips/i");
293  trackerTree->Branch("IsDoubleSide", &isDoubleSide, "IsDoubleSide/O");
294  trackerTree->Branch("IsRPhi", &isRPhi, "IsRPhi/O");
295  trackerTree->Branch("IsStereo", &isStereo, "IsStereo/O");
296  trackerTree->Branch("UDirection", &uDirection, "UDirection/I");
297  trackerTree->Branch("VDirection", &vDirection, "VDirection/I");
298  trackerTree->Branch("WDirection", &wDirection, "WDirection/I");
299  trackerTree->Branch("PosR", &posR, "PosR/F");
300  trackerTree->Branch("PosPhi", &posPhi, "PosPhi/F");
301  trackerTree->Branch("PosEta", &posEta, "PosEta/F");
302  trackerTree->Branch("PosX", &posX, "PosX/F");
303  trackerTree->Branch("PosY", &posY, "PosY/F");
304  trackerTree->Branch("PosZ", &posZ, "PosZ/F");
305 
306  for (const auto& iTree : vTkTreeVar_) {
307  rawId = iTree.rawId;
308  subdetId = iTree.subdetId;
309  layer = iTree.layer;
310  side = iTree.side;
311  half = iTree.half;
312  rod = iTree.rod;
313  ring = iTree.ring;
314  petal = iTree.petal;
315  blade = iTree.blade;
316  panel = iTree.panel;
317  outerInner = iTree.outerInner;
318  module = iTree.module;
319  nStrips = iTree.nStrips;
320  isDoubleSide = iTree.isDoubleSide;
321  isRPhi = iTree.isRPhi;
322  isStereo = iTree.isStereo;
323  uDirection = iTree.uDirection;
324  vDirection = iTree.vDirection;
325  wDirection = iTree.wDirection;
326  posR = iTree.posR;
327  posPhi = iTree.posPhi;
328  posEta = iTree.posEta;
329  posX = iTree.posX;
330  posY = iTree.posY;
331  posZ = iTree.posZ;
332 
333  trackerTree->Fill();
334  }
335  edm::LogInfo("TrackerTreeGenerator") << "@SUB=TrackerTreeGenerator::endJob"
336  << "TrackerTree contains " << vTkTreeVar_.size() << " entries overall";
337 }

References F(), phase1PixelTopology::layer, TFileDirectory::make(), TFileService::mkdir(), callgraph::module, me0TriggerPseudoDigis_cff::nStrips, RecoTauValidation_cfi::posX, RecoTauValidation_cfi::posY, relativeConstraints::ring, and vTkTreeVar_.

Referenced by o2olib.O2ORunMgr::executeJob().

Member Data Documentation

◆ config_

edm::ParameterSet TrackerTreeGenerator::config_
private

Definition at line 83 of file TrackerTreeGenerator.cc.

◆ createEntryForDoubleSidedModule_

const bool TrackerTreeGenerator::createEntryForDoubleSidedModule_
private

Definition at line 81 of file TrackerTreeGenerator.cc.

Referenced by analyze().

◆ geomDetToken_

const edm::ESGetToken<GeometricDet, IdealGeometryRecord> TrackerTreeGenerator::geomDetToken_
private

Definition at line 76 of file TrackerTreeGenerator.cc.

Referenced by analyze().

◆ ptitpToken_

Definition at line 78 of file TrackerTreeGenerator.cc.

Referenced by analyze().

◆ ptpToken_

const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> TrackerTreeGenerator::ptpToken_
private

Definition at line 77 of file TrackerTreeGenerator.cc.

Referenced by analyze().

◆ topoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> TrackerTreeGenerator::topoToken_
private

Definition at line 79 of file TrackerTreeGenerator.cc.

Referenced by analyze().

◆ vTkTreeVar_

std::vector<TrackerTreeVariables> TrackerTreeGenerator::vTkTreeVar_
private

Definition at line 82 of file TrackerTreeGenerator.cc.

Referenced by analyze(), and endJob().

TrackerTreeVariables::half
UInt_t half
Definition: TrackerTreeVariables.h:18
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
TrackerTopology::tobIsDoubleSide
bool tobIsDoubleSide(const DetId &id) const
Definition: TrackerTopology.h:245
TrackerTreeVariables::isDoubleSide
Bool_t isDoubleSide
Definition: TrackerTreeVariables.h:19
TrackerTreeVariables::posX
Float_t posX
Definition: TrackerTreeVariables.h:21
TrackerTreeVariables::petal
UInt_t petal
Definition: TrackerTreeVariables.h:18
TrackerTreeVariables::isRPhi
Bool_t isRPhi
Definition: TrackerTreeVariables.h:19
TrackerTreeGenerator::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: TrackerTreeGenerator.cc:79
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
GeomDet
Definition: GeomDet.h:27
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
TrackerTreeVariables::side
UInt_t side
Definition: TrackerTreeVariables.h:18
PTrackerParameters
Definition: PTrackerParameters.h:6
TrackerTopology::tobIsStereo
bool tobIsStereo(const DetId &id) const
Definition: TrackerTopology.h:264
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TrackerTreeVariables::wDirection
Int_t wDirection
Definition: TrackerTreeVariables.h:20
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerAdditionalParametersPerDet *ptitp, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:44
TrackerTopology
Definition: TrackerTopology.h:16
TrackerTopology::tecIsDoubleSide
bool tecIsDoubleSide(const DetId &id) const
Definition: TrackerTopology.h:246
TrackerTreeVariables::layer
UInt_t layer
Definition: TrackerTreeVariables.h:18
TrackerTopology::tidIsDoubleSide
bool tidIsDoubleSide(const DetId &id) const
Definition: TrackerTopology.h:250
TrackerTopology::pxbLadder
unsigned int pxbLadder(const DetId &id) const
Definition: TrackerTopology.h:155
TrackerTopology::tidIsRPhi
bool tidIsRPhi(const DetId &id) const
Definition: TrackerTopology.h:272
PTrackerAdditionalParametersPerDet
Definition: PTrackerAdditionalParametersPerDet.h:9
TrackerTreeGenerator::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: TrackerTreeGenerator.cc:77
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
Surface
Definition: Surface.h:36
trackerTree
Definition: trackerTree.py:1
TFileDirectory
Definition: TFileDirectory.h:24
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13695
TrackerTreeVariables::posY
Float_t posY
Definition: TrackerTreeVariables.h:21
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
TrackerTreeVariables::isStereo
Bool_t isStereo
Definition: TrackerTreeVariables.h:19
TrackerTopology::tobIsRPhi
bool tobIsRPhi(const DetId &id) const
Definition: TrackerTopology.h:269
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
TrackerTreeGenerator::vTkTreeVar_
std::vector< TrackerTreeVariables > vTkTreeVar_
Definition: TrackerTreeGenerator.cc:82
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
F
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:163
TrackerTopology::tidIsStereo
bool tidIsStereo(const DetId &id) const
Definition: TrackerTopology.h:267
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
TrackerTopology::pxfPanel
unsigned int pxfPanel(const DetId &id) const
Definition: TrackerTopology.h:450
config
Definition: config.py:1
TrackerTopology::tobRodInfo
std::vector< unsigned int > tobRodInfo(const DetId &id) const
Definition: TrackerTopology.h:226
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrackerTopology::tibStringInfo
std::vector< unsigned int > tibStringInfo(const DetId &id) const
Definition: TrackerTopology.h:421
TrackerTreeVariables::posPhi
Float_t posPhi
Definition: TrackerTreeVariables.h:21
TrackerTopology::tidModuleInfo
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
Definition: TrackerTopology.h:434
TrackerTopology::tecIsRPhi
bool tecIsRPhi(const DetId &id) const
Definition: TrackerTopology.h:270
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
TrackerTreeVariables::rod
UInt_t rod
Definition: TrackerTreeVariables.h:18
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
AlignableTracker
Definition: AlignableTracker.h:17
GeometricDet
Definition: GeometricDet.h:31
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
RecoTauValidation_cfi.posX
posX
Definition: RecoTauValidation_cfi.py:287
TrackerTreeVariables::ring
UInt_t ring
Definition: TrackerTreeVariables.h:18
TrackerTreeVariables::vDirection
Int_t vDirection
Definition: TrackerTreeVariables.h:20
Point3DBase< float, LocalTag >
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
TrackerTreeGenerator::ptitpToken_
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
Definition: TrackerTreeGenerator.cc:78
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
TrackerTreeGenerator::config_
edm::ParameterSet config_
Definition: TrackerTreeGenerator.cc:83
PV3DBase::barePhi
T barePhi() const
Definition: PV3DBase.h:65
TrackerTreeVariables::outerInner
UInt_t outerInner
Definition: TrackerTreeVariables.h:18
TrackerTreeVariables::rawId
UInt_t rawId
Definition: TrackerTreeVariables.h:18
TrackerTreeVariables::posEta
Float_t posEta
Definition: TrackerTreeVariables.h:21
TrackerTreeVariables::posR
Float_t posR
Definition: TrackerTreeVariables.h:21
TrackerTreeVariables::panel
UInt_t panel
Definition: TrackerTreeVariables.h:18
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
TrackerTreeVariables::uDirection
Int_t uDirection
Definition: TrackerTreeVariables.h:20
TrackerTopology::tibModule
unsigned int tibModule(const DetId &id) const
Definition: TrackerTopology.h:172
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
edm::Service< TFileService >
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
TrackerTopology::pxfModule
unsigned int pxfModule(const DetId &id) const
Definition: TrackerTopology.h:163
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
TrackerTreeVariables::nStrips
UInt_t nStrips
Definition: TrackerTreeVariables.h:18
me0TriggerPseudoDigis_cff.nStrips
nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
Definition: me0TriggerPseudoDigis_cff.py:26
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
callgraph.module
module
Definition: callgraph.py:61
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
TrackerTopology::tobModule
unsigned int tobModule(const DetId &id) const
Definition: TrackerTopology.h:166
TrackerTopology::pxbModule
unsigned int pxbModule(const DetId &id) const
Definition: TrackerTopology.h:160
TrackerTopology::tibIsDoubleSide
bool tibIsDoubleSide(const DetId &id) const
Definition: TrackerTopology.h:249
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
TFileDirectory::make
T * make(const Args &...args) const
make new ROOT object
Definition: TFileDirectory.h:53
TrackerTreeVariables
Definition: TrackerTreeVariables.h:8
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
TrackerTreeVariables::posZ
Float_t posZ
Definition: TrackerTreeVariables.h:21
TrackerGeometry::detIds
const DetIdContainer & detIds() const override
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
Definition: TrackerGeometry.h:64
TrackerTopology::tecModule
unsigned int tecModule(const DetId &id) const
Definition: TrackerTopology.h:169
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:206
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:18
TrackerTopology::pxfBlade
unsigned int pxfBlade(const DetId &id) const
Definition: TrackerTopology.h:447
TrackerTopology::tecPetalInfo
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
Definition: TrackerTopology.h:407
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
TrackerGeometry::detUnitIds
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
Definition: TrackerGeometry.h:63
TrackerTopology::tibIsRPhi
bool tibIsRPhi(const DetId &id) const
Definition: TrackerTopology.h:271
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
TrackerTreeGenerator::createEntryForDoubleSidedModule_
const bool createEntryForDoubleSidedModule_
Definition: TrackerTreeGenerator.cc:81
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
RecoTauValidation_cfi.posY
posY
Definition: RecoTauValidation_cfi.py:288
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
TrackerTreeGenerator::geomDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
Definition: TrackerTreeGenerator.cc:76
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
TrackerTreeVariables::subdetId
UInt_t subdetId
Definition: TrackerTreeVariables.h:18
TrackerGeometry
Definition: TrackerGeometry.h:14
TrackerTreeVariables::blade
UInt_t blade
Definition: TrackerTreeVariables.h:18
TrackerTreeVariables::module
UInt_t module
Definition: TrackerTreeVariables.h:18
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184