Implements edm::one::EDAnalyzerBase.
Definition at line 102 of file TrackerTreeGenerator.cc.
118 const auto& ns = alignableTracker.trackerNameSpace();
120 edm::LogInfo(
"TrackerTreeGenerator") <<
"@SUB=TrackerTreeGenerator::analyze"
121 <<
"There are " << tkGeom->
detIds().size() <<
" dets and "
122 << tkGeom->
detUnitIds().size() <<
" detUnits in the Geometry Record";
125 edm::LogInfo(
"TrackerTreeGenerator") <<
"@SUB=TrackerTreeGenerator::analyze"
126 <<
"Create entry for each module AND one entry for virtual "
127 <<
"double-sided module in addition";
129 edm::LogInfo(
"TrackerTreeGenerator") <<
"@SUB=TrackerTreeGenerator::analyze"
130 <<
"Create one entry for each physical module, do NOT create additional "
131 <<
"entry for virtual double-sided module";
134 for (
const auto& detId : tkGeom->
detIds()) {
139 const auto rawId = detId.
rawId();
140 tkTreeVar.
rawId = rawId;
141 tkTreeVar.
subdetId = detId.subdetId();
146 tkTreeVar.
half = ns.tpb().halfBarrelNumber(rawId);
153 tkTreeVar.
half = ns.tpe().halfCylinderNumber(rawId);
161 tkTreeVar.
half = ns.tib().halfShellNumber(rawId);
201 LocalPoint lPModule(0., 0., 0.), lUDirection(1., 0., 0.), lVDirection(0., 1., 0.), lWDirection(0., 0., 1.);
203 gVDirection = surface.
toGlobal(lVDirection), gWDirection = surface.
toGlobal(lWDirection);
204 double dR(999.),
dPhi(999.), dZ(999.);
209 dR = gWDirection.perp() - gPModule.
perp();
211 dZ = gVDirection.z() - gPModule.
z();
217 dR = gUDirection.perp() - gPModule.
perp();
219 dZ = gWDirection.z() - gPModule.
z();
226 dR = gVDirection.perp() - gPModule.
perp();
228 dZ = gWDirection.z() - gPModule.
z();
237 tkTreeVar.
posX = gPModule.
x();
238 tkTreeVar.
posY = gPModule.
y();
239 tkTreeVar.
posZ = gPModule.
z();
241 if (
auto stripGeomDetUnit = dynamic_cast<const StripGeomDetUnit*>(&geomDet)) {
247 auto& topol = dynamic_cast<const StripTopology&>(stripGeomDetUnit->specificTopology());
248 tkTreeVar.
nStrips = topol.nstrips();
References PV3DBase< T, PVType, FrameType >::barePhi(), TrackerTreeVariables::blade, TrackerGeomBuilderFromGeometricDet::build(), createEntryForDoubleSidedModule_, SiPixelRawToDigiRegional_cfi::deltaPhi, TrackerGeometry::detIds(), TrackerGeometry::detUnitIds(), HLT_2018_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), edm::EventSetup::get(), get, 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, edm::ESHandle< T >::product(), 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(), TrackerTreeVariables::uDirection, TrackerTreeVariables::vDirection, vTkTreeVar_, TrackerTreeVariables::wDirection, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().