CMS 3D CMS Logo

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

#include <SiPixelTrackResidualSource.h>

Inheritance diagram for SiPixelTrackResidualSource:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &r, edm::EventSetup const &iSetup) override
 
void getrococcupancy (DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement *> meinput)
 
 SiPixelTrackResidualSource (const edm::ParameterSet &)
 
void triplets (double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double ptsig, double &dc, double &dz, double kap)
 
 ~SiPixelTrackResidualSource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Public Attributes

std::string topFolderName_
 

Private Member Functions

void getepixrococcupancyofftrk (DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput)
 
void getepixrococcupancyontrk (const TrackerTopology *const tTopo, TransientTrackingRecHit::ConstRecHitPointer hit, float xclust, float yclust, float z, MonitorElement *meinput)
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
bool bladeOn
 
edm::InputTag clustersrc_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
 
bool debug_
 
edm::InputTag digisrc_
 
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
 
bool diskOn
 
bool firstRun
 
edm::EDGetTokenT< reco::TrackCollectiongeneralTracksToken_
 
bool isUpgrade
 
bool ladOn
 
bool layOn
 
MonitorElementmeClChargeNotOnTrack_all
 
MonitorElementmeClChargeNotOnTrack_bpix
 
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
 
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
 
MonitorElementmeClChargeNotOnTrack_fpix
 
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
 
MonitorElementmeClChargeOnTrack_all
 
MonitorElementmeClChargeOnTrack_bpix
 
std::vector< MonitorElement * > meClChargeOnTrack_diskms
 
std::vector< MonitorElement * > meClChargeOnTrack_diskps
 
MonitorElementmeClChargeOnTrack_fpix
 
std::vector< MonitorElement * > meClChargeOnTrack_layers
 
std::vector< MonitorElement * > meClPosDisksmzNotOnTrack
 
std::vector< MonitorElement * > meClPosDisksmzOnTrack
 
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
 
std::vector< MonitorElement * > meClPosDiskspzOnTrack
 
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
 
std::vector< MonitorElement * > meClPosLayersNotOnTrack
 
std::vector< MonitorElement * > meClPosLayersOnTrack
 
MonitorElementmeClSizeNotOnTrack_all
 
MonitorElementmeClSizeNotOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
 
MonitorElementmeClSizeNotOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
 
MonitorElementmeClSizeOnTrack_all
 
MonitorElementmeClSizeOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeOnTrack_diskps
 
MonitorElementmeClSizeOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeOnTrack_layers
 
MonitorElementmeClSizeXNotOnTrack_all
 
MonitorElementmeClSizeXNotOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
 
MonitorElementmeClSizeXNotOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
 
MonitorElementmeClSizeXOnTrack_all
 
MonitorElementmeClSizeXOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
 
MonitorElementmeClSizeXOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeXOnTrack_layers
 
MonitorElementmeClSizeYNotOnTrack_all
 
MonitorElementmeClSizeYNotOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
 
MonitorElementmeClSizeYNotOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
 
MonitorElementmeClSizeYOnTrack_all
 
MonitorElementmeClSizeYOnTrack_bpix
 
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
 
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
 
MonitorElementmeClSizeYOnTrack_fpix
 
std::vector< MonitorElement * > meClSizeYOnTrack_layers
 
MonitorElementmeHitProbability
 
MonitorElementmeNClustersNotOnTrack_all
 
MonitorElementmeNClustersNotOnTrack_bpix
 
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
 
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
 
MonitorElementmeNClustersNotOnTrack_fpix
 
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
 
MonitorElementmeNClustersOnTrack_all
 
MonitorElementmeNClustersOnTrack_bpix
 
std::vector< MonitorElement * > meNClustersOnTrack_diskms
 
std::vector< MonitorElement * > meNClustersOnTrack_diskps
 
MonitorElementmeNClustersOnTrack_fpix
 
std::vector< MonitorElement * > meNClustersOnTrack_layers
 
MonitorElementmeNofClustersNotOnTrack_
 
MonitorElementmeNofClustersOnTrack_
 
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
 
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
 
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
 
MonitorElementmeNofTracks_
 
MonitorElementmeNofTracksInPixVol_
 
std::vector< MonitorElement * > meResidualXSummedLay
 
std::vector< MonitorElement * > meResidualYSummedLay
 
MonitorElementmeRocBladevsDiskEndcapOffTrk
 
MonitorElementmeRocBladevsDiskEndcapOnTrk
 
MonitorElementmeSubdetResidualX [3]
 
MonitorElementmeSubdetResidualY [3]
 
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
 
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
 
bool modOn
 
int NLowProb
 
int noOfDisks
 
int noOfLayers
 
int NTotal
 
edm::EDGetTokenT< reco::VertexCollectionofflinePrimaryVerticesToken_
 
bool phiOn
 
edm::ParameterSet pSet_
 
double ptminres_
 
bool reducedSet
 
bool ringOn
 
edm::InputTag src_
 
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
 
edm::EDGetTokenT< TrajTrackAssociationCollectiontrackAssociationToken_
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtrackerGeomToken_
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtrackerGeomTokenBeginRun_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopoToken_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopoTokenBeginRun_
 
edm::InputTag tracksrc_
 
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
 
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
 
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecordtransientTrackBuilderToken_
 
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecordtransientTrackingRecHitBuilderToken_
 
std::string ttrhbuilder_
 
std::string vtxsrc_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 46 of file SiPixelTrackResidualSource.h.

Constructor & Destructor Documentation

◆ SiPixelTrackResidualSource()

SiPixelTrackResidualSource::SiPixelTrackResidualSource ( const edm::ParameterSet pSet)
explicit

Definition at line 48 of file SiPixelTrackResidualSource.cc.

References beamSpotToken_, bladeOn, clustersrc_, clustersrcToken_, debug_, digisrc_, digisrcToken_, diskOn, firstRun, generalTracksToken_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ladOn, layOn, modOn, NLowProb, NTotal, offlinePrimaryVerticesToken_, phiOn, pSet_, ptminres_, ringOn, src_, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, trackAssociationToken_, trackerGeomToken_, trackerGeomTokenBeginRun_, trackerTopoToken_, trackerTopoTokenBeginRun_, tracksrc_, tracksrcToken_, trackToken_, transientTrackBuilderToken_, transientTrackingRecHitBuilderToken_, ttrhbuilder_, and vtxsrc_.

49  : pSet_(pSet),
50  modOn(pSet.getUntrackedParameter<bool>("modOn", true)),
51  reducedSet(pSet.getUntrackedParameter<bool>("reducedSet", true)),
52  ladOn(pSet.getUntrackedParameter<bool>("ladOn", false)),
53  layOn(pSet.getUntrackedParameter<bool>("layOn", false)),
54  phiOn(pSet.getUntrackedParameter<bool>("phiOn", false)),
55  ringOn(pSet.getUntrackedParameter<bool>("ringOn", false)),
56  bladeOn(pSet.getUntrackedParameter<bool>("bladeOn", false)),
57  diskOn(pSet.getUntrackedParameter<bool>("diskOn", false)),
58  isUpgrade(pSet.getUntrackedParameter<bool>("isUpgrade", false)),
59  noOfLayers(0),
60  noOfDisks(0) {
61  pSet_ = pSet;
62  debug_ = pSet_.getUntrackedParameter<bool>("debug", false);
65  tracksrc_ = pSet_.getParameter<edm::InputTag>("trajectoryInput");
66  ttrhbuilder_ = pSet_.getParameter<std::string>("TTRHBuilder");
67  ptminres_ = pSet.getUntrackedParameter<double>("PtMinRes", 4.0);
68  beamSpotToken_ = consumes<reco::BeamSpot>(std::string("offlineBeamSpot"));
69  vtxsrc_ = pSet_.getUntrackedParameter<std::string>("vtxsrc", "offlinePrimaryVertices");
71  consumes<reco::VertexCollection>(vtxsrc_); // consumes<reco::VertexCollection>(std::string("hiSelectedVertex"));
72  // //"offlinePrimaryVertices"));
73  generalTracksToken_ = consumes<reco::TrackCollection>(pSet_.getParameter<edm::InputTag>("tracksrc"));
74  tracksrcToken_ = consumes<std::vector<Trajectory>>(pSet_.getParameter<edm::InputTag>("trajectoryInput"));
75  trackToken_ = consumes<std::vector<reco::Track>>(pSet_.getParameter<edm::InputTag>("trajectoryInput"));
77  consumes<TrajTrackAssociationCollection>(pSet_.getParameter<edm::InputTag>("trajectoryInput"));
78  clustersrcToken_ = consumes<edmNew::DetSetVector<SiPixelCluster>>(pSet_.getParameter<edm::InputTag>("clustersrc"));
80  digisrcToken_ = consumes<edm::DetSetVector<PixelDigi>>(pSet_.getParameter<edm::InputTag>("digisrc"));
81 
82  trackerTopoToken_ = esConsumes<TrackerTopology, TrackerTopologyRcd>();
83  trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
85  esConsumes<TransientTrackBuilder, TransientTrackRecord>(edm::ESInputTag("", "TransientTrackBuilder"));
87  esConsumes<TransientTrackingRecHitBuilder, TransientRecHitRecord>(edm::ESInputTag("", ttrhbuilder_));
88  trackerTopoTokenBeginRun_ = esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>();
89  trackerGeomTokenBeginRun_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>();
90 
91  LogInfo("PixelDQM") << "SiPixelTrackResidualSource constructor" << endl;
92  LogInfo("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/" << layOn << "/" << phiOn << std::endl;
93  LogInfo("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/" << ringOn << std::endl;
94 
95  topFolderName_ = pSet_.getParameter<std::string>("TopFolderName");
96 
97  firstRun = true;
98  NTotal = 0;
99  NLowProb = 0;
100 }
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > transientTrackingRecHitBuilderToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
Log< level::Info, false > LogInfo
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_

◆ ~SiPixelTrackResidualSource()

SiPixelTrackResidualSource::~SiPixelTrackResidualSource ( )
override

Definition at line 102 of file SiPixelTrackResidualSource.cc.

References theSiPixelStructure.

102  {
103  LogInfo("PixelDQM") << "SiPixelTrackResidualSource destructor" << endl;
104 
105  std::map<uint32_t, SiPixelTrackResidualModule *>::iterator struct_iter;
106  for (struct_iter = theSiPixelStructure.begin(); struct_iter != theSiPixelStructure.end(); struct_iter++) {
107  delete struct_iter->second;
108  struct_iter->second = nullptr;
109  }
110 }
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

void SiPixelTrackResidualSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 823 of file SiPixelTrackResidualSource.cc.

References funct::abs(), Reference_intrackfit_cff::barrel, beamSpotToken_, edmNew::DetSetVector< T >::begin(), bladeOn, TransientTrackingRecHitBuilder::build(), TransientTrackBuilder::build(), ALCARECOTkAlJpsiMuMu_cff::charge, SiPixelRecHit::clusterProbability(), clustersrcToken_, edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator, gather_cfg::cout, d0, debug_, hcalRecHitTable_cff::detId, TrackerGeometry::dets(), digisrcToken_, PixelEndcapName::diskName(), diskOn, PVValHelper::dz, edmNew::DetSetVector< T >::end(), makeMuonMisalignmentScenario::endcap, edm::HandleBase::failedToGet(), dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), generalTracksToken_, getepixrococcupancyofftrk(), getepixrococcupancyontrk(), edm::EventSetup::getHandle(), getrococcupancy(), corrVsCorr::gX, corrVsCorr::gY, SiPixelRecHit::hasFilledProb(), mps_fire::i, TrackerGeometry::idToDet(), iEvent, reco::TransientTrack::initialFreeState(), reco::TransientTrack::innermostMeasurementState(), createfilelist::int, edm::Ref< C, T, F >::isNonnull(), isUpgrade, sistrip::SpyUtilities::isValid(), TrajectoryStateOnSurface::isValid(), edm::HandleBase::isValid(), edm::Ref< C, T, F >::key(), SummaryClient_cfi::labels, PVValHelper::ladder, PixelBarrelName::ladderName(), ladOn, PixelBarrelNameUpgrade::layerName(), PixelBarrelName::layerName(), layOn, TrajectoryStateOnSurface::localParameters(), Topology::localPosition(), PV3DBase< T, PVType, FrameType >::mag(), match(), meClChargeNotOnTrack_all, meClChargeNotOnTrack_bpix, meClChargeNotOnTrack_diskms, meClChargeNotOnTrack_diskps, meClChargeNotOnTrack_fpix, meClChargeNotOnTrack_layers, meClChargeOnTrack_all, meClChargeOnTrack_bpix, meClChargeOnTrack_diskms, meClChargeOnTrack_diskps, meClChargeOnTrack_fpix, meClChargeOnTrack_layers, meClPosDisksmzNotOnTrack, meClPosDisksmzOnTrack, meClPosDiskspzNotOnTrack, meClPosDiskspzOnTrack, meClPosLayersLadVsModOnTrack, meClPosLayersNotOnTrack, meClPosLayersOnTrack, meClSizeNotOnTrack_all, meClSizeNotOnTrack_bpix, meClSizeNotOnTrack_diskms, meClSizeNotOnTrack_diskps, meClSizeNotOnTrack_fpix, meClSizeNotOnTrack_layers, meClSizeOnTrack_all, meClSizeOnTrack_bpix, meClSizeOnTrack_diskms, meClSizeOnTrack_diskps, meClSizeOnTrack_fpix, meClSizeOnTrack_layers, meClSizeXNotOnTrack_all, meClSizeXNotOnTrack_bpix, meClSizeXNotOnTrack_diskms, meClSizeXNotOnTrack_diskps, meClSizeXNotOnTrack_fpix, meClSizeXNotOnTrack_layers, meClSizeXOnTrack_all, meClSizeXOnTrack_bpix, meClSizeXOnTrack_diskms, meClSizeXOnTrack_diskps, meClSizeXOnTrack_fpix, meClSizeXOnTrack_layers, meClSizeYNotOnTrack_all, meClSizeYNotOnTrack_bpix, meClSizeYNotOnTrack_diskms, meClSizeYNotOnTrack_diskps, meClSizeYNotOnTrack_fpix, meClSizeYNotOnTrack_layers, meClSizeYOnTrack_all, meClSizeYOnTrack_bpix, meClSizeYOnTrack_diskms, meClSizeYOnTrack_diskps, meClSizeYOnTrack_fpix, meClSizeYOnTrack_layers, meHitProbability, meNClustersNotOnTrack_all, meNClustersNotOnTrack_bpix, meNClustersNotOnTrack_diskms, meNClustersNotOnTrack_diskps, meNClustersNotOnTrack_fpix, meNClustersNotOnTrack_layers, meNClustersOnTrack_all, meNClustersOnTrack_bpix, meNClustersOnTrack_diskms, meNClustersOnTrack_diskps, meNClustersOnTrack_fpix, meNClustersOnTrack_layers, meNofClustersNotOnTrack_, meNofClustersOnTrack_, meNofClustersvsPhiOnTrack_diskms, meNofClustersvsPhiOnTrack_diskps, meNofClustersvsPhiOnTrack_layers, meNofTracks_, meNofTracksInPixVol_, meResidualXSummedLay, meResidualYSummedLay, meRocBladevsDiskEndcapOffTrk, meRocBladevsDiskEndcapOnTrk, meZeroRocLadvsModOffTrackBarrel, meZeroRocLadvsModOnTrackBarrel, modOn, callgraph::module, PixelBarrelName::moduleName(), LocalTrajectoryParameters::momentum(), reco::Vertex::ndof(), NLowProb, noOfDisks, noOfLayers, NTotal, offlinePrimaryVerticesToken_, phi, PV3DBase< T, PVType, FrameType >::phi(), phiOn, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, conifer::pow(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), DiDispStaMuonMonitor_cfi::pt, ptminres_, TrackerTopology::pxbLayer(), reducedSet, ringOn, PixelBarrelName::shell(), PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), DetId::subdetId(), GeomDet::surface(), funct::tan(), groupFilesInBlocks::temp, theSiPixelStructure, Surface::toGlobal(), trackAssociationToken_, pfDisplacedTrackerVertex_cfi::trackColl, DetId::Tracker, trackerGeomToken_, trackerTopoToken_, pwdgSkimBPark_cfi::tracks, tracksrcToken_, trackToken_, transientTrackBuilderToken_, transientTrackingRecHitBuilderToken_, FreeTrajectoryState::transverseCurvature(), triplets(), parallelization::uint, AlignmentTracksFromVertexSelector_cfi::vertices, x, PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), reco::BeamSpot::x0(), testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, y, PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), reco::BeamSpot::y0(), testProducerWithPsetDescEmpty_cfi::y1, testProducerWithPsetDescEmpty_cfi::y2, z, PV3DBase< T, PVType, FrameType >::z(), reco::BeamSpot::z0(), and testProducerWithPsetDescEmpty_cfi::z2.

823  {
824  // Retrieve tracker topology from geometry
826  const TrackerTopology *tTopo = tTopoHandle.product();
827 
828  // retrieve TrackerGeometry again and MagneticField for use in transforming
829  // a TrackCandidate's P(ersistent)TrajectoryStateoOnDet (PTSoD) to a
830  // TrajectoryStateOnSurface (TSoS)
832  const TrackerGeometry *theTrackerGeometry = TG.product();
833 
834  // analytic triplet method to calculate the track residuals in the pixe barrel
835  // detector
836 
837  //--------------------------------------------------------------------
838  // beam spot:
839  //
841  // iEvent.getByLabel( "offlineBeamSpot", rbs );
842  iEvent.getByToken(beamSpotToken_, rbs);
843  math::XYZPoint bsP = math::XYZPoint(0, 0, 0);
844  if (!rbs.failedToGet() && rbs.isValid()) {
845  bsP = math::XYZPoint(rbs->x0(), rbs->y0(), rbs->z0());
846  }
847 
848  //--------------------------------------------------------------------
849  // primary vertices:
850  //
852  // iEvent.getByLabel("offlinePrimaryVertices", vertices );
854 
855  if (vertices.failedToGet())
856  return;
857  if (!vertices.isValid())
858  return;
859 
860  math::XYZPoint vtxN = math::XYZPoint(0, 0, 0);
861  math::XYZPoint vtxP = math::XYZPoint(0, 0, 0);
862 
863  double bestNdof = 0.0;
864  double maxSumPt = 0.0;
865  reco::Vertex bestPvx;
866  for (reco::VertexCollection::const_iterator iVertex = vertices->begin(); iVertex != vertices->end(); ++iVertex) {
867  if (iVertex->ndof() > bestNdof) {
868  bestNdof = iVertex->ndof();
869  vtxN = math::XYZPoint(iVertex->x(), iVertex->y(), iVertex->z());
870  } // ndof
871  if (iVertex->p4().pt() > maxSumPt) {
872  maxSumPt = iVertex->p4().pt();
873  vtxP = math::XYZPoint(iVertex->x(), iVertex->y(), iVertex->z());
874  bestPvx = *iVertex;
875  } // sumpt
876 
877  } // vertex
878 
879  if (maxSumPt < 1.0)
880  vtxP = vtxN;
881 
882  //---------------------------------------------
883  // get Tracks
884  //
886  // iEvent.getByLabel( "generalTracks", TracksForRes );
887  iEvent.getByToken(generalTracksToken_, TracksForRes);
888 
889  if (debug_) {
891  labelsForToken(generalTracksToken_, labels);
892  std::cout << "Track for Res from " << labels.module << std::endl;
893  }
894 
895  //
896  // transient track builder, needs B-field from data base (global tag in .py)
897  //
899 
900  // get the TransienTrackingRecHitBuilder needed for extracting the global
901  // position of the hits in the pixel
902  edm::ESHandle<TransientTrackingRecHitBuilder> theTrackerRecHitBuilder =
904 
905  // check that tracks are valid
906  if (TracksForRes.failedToGet())
907  return;
908  if (!TracksForRes.isValid())
909  return;
910 
911  //----------------------------------------------------------------------------
912  // Residuals:
913  //
914  for (reco::TrackCollection::const_iterator iTrack = TracksForRes->begin(); iTrack != TracksForRes->end(); ++iTrack) {
915  // count
916  // Calculate minimal track pt before curling
917  // cpt = cqRB = 0.3*R[m]*B[T] = 1.14*R[m] for B=3.8T
918  // D = 2R = 2*pt/1.14
919  // calo: D = 1.3 m => pt = 0.74 GeV/c
920  double pt = iTrack->pt();
921  if (pt < 0.75)
922  continue; // curls up
923  if (abs(iTrack->dxy(vtxP)) > 5 * iTrack->dxyError())
924  continue; // not prompt
925 
926  double charge = iTrack->charge();
927 
928  reco::TransientTrack tTrack = theB->build(*iTrack);
929  // get curvature of the track, needed for the residuals
930  double kap = tTrack.initialFreeState().transverseCurvature();
931  // needed for the TransienTrackingRecHitBuilder
933  if (iTrack->extra().isNonnull() && iTrack->extra().isAvailable()) {
934  double x1 = 0;
935  double y1 = 0;
936  double z1 = 0;
937  double x2 = 0;
938  double y2 = 0;
939  double z2 = 0;
940  double x3 = 0;
941  double y3 = 0;
942  double z3 = 0;
943  int n1 = 0;
944  int n2 = 0;
945  int n3 = 0;
946 
947  // for saving the pixel barrel hits
948  vector<TransientTrackingRecHit::RecHitPointer> GoodPixBarrelHits;
949  // looping through the RecHits of the track
950  for (trackingRecHit_iterator irecHit = iTrack->recHitsBegin(); irecHit != iTrack->recHitsEnd(); ++irecHit) {
951  if ((*irecHit)->isValid()) {
952  DetId detId = (*irecHit)->geographicalId();
953  // enum Detector { Tracker=1, Muon=2, Ecal=3, Hcal=4, Calo=5 };
954  if (detId.det() != 1) {
955  if (debug_) {
956  cout << "rec hit ID = " << detId.det() << " not in tracker!?!?\n";
957  }
958  continue;
959  }
960  uint32_t subDet = detId.subdetId();
961 
962  // enum SubDetector{ PixelBarrel=1, PixelEndcap=2 };
963  // enum SubDetector{ TIB=3, TID=4, TOB=5, TEC=6 };
964 
965  TransientTrackingRecHit::RecHitPointer trecHit = theTrackerRecHitBuilder->build(&*(*irecHit), initialTSOS);
966 
967  double gX = trecHit->globalPosition().x();
968  double gY = trecHit->globalPosition().y();
969  double gZ = trecHit->globalPosition().z();
970 
971  if (subDet == PixelSubdetector::PixelBarrel) {
972  int ilay = tTopo->pxbLayer(detId);
973 
974  if (ilay == 1) {
975  n1++;
976  x1 = gX;
977  y1 = gY;
978  z1 = gZ;
979 
980  GoodPixBarrelHits.push_back((trecHit));
981  } // PXB1
982  if (ilay == 2) {
983  n2++;
984  x2 = gX;
985  y2 = gY;
986  z2 = gZ;
987 
988  GoodPixBarrelHits.push_back((trecHit));
989 
990  } // PXB2
991  if (ilay == 3) {
992  n3++;
993  x3 = gX;
994  y3 = gY;
995  z3 = gZ;
996  GoodPixBarrelHits.push_back((trecHit));
997  }
998  } // PXB
999 
1000  } // valid
1001  } // loop rechits
1002 
1003  // CS extra plots
1004 
1005  if (n1 + n2 + n3 == 3 && n1 * n2 * n3 > 0) {
1006  for (unsigned int i = 0; i < GoodPixBarrelHits.size(); i++) {
1007  if (GoodPixBarrelHits[i]->isValid()) {
1008  DetId detId = GoodPixBarrelHits[i]->geographicalId().rawId();
1009  int ilay = tTopo->pxbLayer(detId);
1010  if (pt > ptminres_) {
1011  double dca2 = 0.0, dz2 = 0.0;
1012  double ptsig = pt;
1013  if (charge < 0.)
1014  ptsig = -pt;
1015  // Filling the histograms in modules
1016 
1017  MeasurementPoint Test;
1018  MeasurementPoint Test2;
1019  Test = MeasurementPoint(0, 0);
1020  Test2 = MeasurementPoint(0, 0);
1021  Measurement2DVector residual;
1022 
1023  if (ilay == 1) {
1024  triplets(x2, y2, z2, x1, y1, z1, x3, y3, z3, ptsig, dca2, dz2, kap);
1025 
1026  Test = MeasurementPoint(dca2 * 1E4, dz2 * 1E4);
1027  residual = Test - Test2;
1028  }
1029 
1030  if (ilay == 2) {
1031  triplets(x1, y1, z1, x2, y2, z2, x3, y3, z3, ptsig, dca2, dz2, kap);
1032 
1033  Test = MeasurementPoint(dca2 * 1E4, dz2 * 1E4);
1034  residual = Test - Test2;
1035  }
1036 
1037  if (ilay == 3) {
1038  triplets(x1, y1, z1, x3, y3, z3, x2, y2, z2, ptsig, dca2, dz2, kap);
1039 
1040  Test = MeasurementPoint(dca2 * 1E4, dz2 * 1E4);
1041  residual = Test - Test2;
1042  }
1043  // fill the residual histograms
1044 
1045  std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd = theSiPixelStructure.find(detId);
1046  if (pxd != theSiPixelStructure.end())
1047  (*pxd).second->fill(residual, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
1048 
1049  if (ladOn && pxd != theSiPixelStructure.end()) {
1050  meResidualXSummedLay.at(PixelBarrelNameUpgrade((*pxd).first).layerName() - 1)->Fill(residual.x());
1051  meResidualYSummedLay.at(PixelBarrelNameUpgrade((*pxd).first).layerName() - 1)->Fill(residual.y());
1052  }
1053 
1054  } // three hits
1055  } // is valid
1056  } // rechits loop
1057  } // pt 4
1058  }
1059 
1060  } //-----Tracks
1062  // get tracks
1063  edm::Handle<std::vector<reco::Track>> trackCollectionHandle;
1064  // iEvent.getByLabel(tracksrc_,trackCollectionHandle);
1065  iEvent.getByToken(trackToken_, trackCollectionHandle);
1066  auto const &trackColl = *(trackCollectionHandle.product());
1067 
1068  // get clusters
1070  // iEvent.getByLabel( clustersrc_, clusterColl );
1071  iEvent.getByToken(clustersrcToken_, clusterColl);
1072  auto const &clustColl = *(clusterColl.product());
1073 
1074  // get digis
1076  iEvent.getByToken(digisrcToken_, digiinput);
1077  edm::DetSetVector<PixelDigi> const &diginp = *(digiinput.product());
1078 
1079  std::set<SiPixelCluster> clusterSet;
1080  TrajectoryStateCombiner tsoscomb;
1081  int tracks = 0, pixeltracks = 0, bpixtracks = 0, fpixtracks = 0;
1082  int trackclusters = 0, barreltrackclusters = 0, endcaptrackclusters = 0;
1083  int otherclusters = 0, barrelotherclusters = 0, endcapotherclusters = 0;
1084 
1085  // get trajectories
1086  edm::Handle<std::vector<Trajectory>> trajCollectionHandle;
1087  iEvent.getByToken(tracksrcToken_, trajCollectionHandle);
1088 
1089  if (debug_) {
1091  labelsForToken(tracksrcToken_, labels);
1092  std::cout << "Trajectories for Res from " << labels.module << std::endl;
1093  }
1094 
1095  if (trajCollectionHandle.isValid()) {
1096  auto const &trajColl = *(trajCollectionHandle.product());
1097  // get the map
1099  iEvent.getByToken(trackAssociationToken_, match);
1100  auto const &ttac = *(match.product());
1101 
1102  if (debug_) {
1103  std::cout << "Trajectories\t : " << trajColl.size() << std::endl;
1104  std::cout << "recoTracks \t : " << trackColl.size() << std::endl;
1105  std::cout << "Map entries \t : " << ttac.size() << std::endl;
1106  }
1107 
1108  // Loop over map entries
1109  for (TrajTrackAssociationCollection::const_iterator it = ttac.begin(); it != ttac.end(); ++it) {
1110  const edm::Ref<std::vector<Trajectory>> traj_iterator = it->key;
1111  // Trajectory Map, extract Trajectory for this track
1112  reco::TrackRef trackref = it->val;
1113  tracks++;
1114 
1115  bool isBpixtrack = false, isFpixtrack = false, crossesPixVol = false;
1116 
1117  // find out whether track crosses pixel fiducial volume (for cosmic
1118  // tracks)
1119 
1120  double d0 = (*trackref).d0(), dz = (*trackref).dz();
1121 
1122  if (abs(d0) < 15 && abs(dz) < 50)
1123  crossesPixVol = true;
1124 
1125  const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1126  std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
1127  // loop on measurements to find out whether there are bpix and/or fpix
1128  // hits
1129  for (tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end(); tmeasIt++) {
1130  if (!tmeasIt->updatedState().isValid())
1131  continue;
1132  TransientTrackingRecHit::ConstRecHitPointer testhit = tmeasIt->recHit();
1133  if (!testhit->isValid() || testhit->geographicalId().det() != DetId::Tracker)
1134  continue;
1135  uint testSubDetID = (testhit->geographicalId().subdetId());
1136  if (testSubDetID == PixelSubdetector::PixelBarrel)
1137  isBpixtrack = true;
1138  if (testSubDetID == PixelSubdetector::PixelEndcap)
1139  isFpixtrack = true;
1140  } // end loop on measurements
1141  if (isBpixtrack) {
1142  bpixtracks++;
1143  if (debug_)
1144  std::cout << "bpixtrack\n";
1145  }
1146  if (isFpixtrack) {
1147  fpixtracks++;
1148  if (debug_)
1149  std::cout << "fpixtrack\n";
1150  }
1151  if (isBpixtrack || isFpixtrack) {
1152  pixeltracks++;
1153 
1154  if (crossesPixVol)
1155  meNofTracksInPixVol_->Fill(0, 1);
1156 
1157  const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1158  for (std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end();
1159  tmeasIt++) {
1160  if (!tmeasIt->updatedState().isValid())
1161  continue;
1162 
1163  TrajectoryStateOnSurface tsos = tsoscomb(tmeasIt->forwardPredictedState(), tmeasIt->backwardPredictedState());
1164  if (!tsos.isValid())
1165  continue; // Happens rarely, due to singular matrix or similar
1166 
1168  if (!hit->isValid() || hit->geographicalId().det() != DetId::Tracker) {
1169  continue;
1170  } else {
1171  // //residual
1172  const DetId &hit_detId = hit->geographicalId();
1173  // uint IntRawDetID = (hit_detId.rawId());
1174  uint IntSubDetID = (hit_detId.subdetId());
1175 
1176  if (IntSubDetID == 0)
1177  continue; // don't look at SiStrip hits!
1178 
1179  // get the enclosed persistent hit
1180  const TrackingRecHit *persistentHit = hit->hit();
1181  // check if it's not null, and if it's a valid pixel hit
1182  if ((persistentHit != nullptr) && (typeid(*persistentHit) == typeid(SiPixelRecHit))) {
1183  // tell the C++ compiler that the hit is a pixel hit
1184  const SiPixelRecHit *pixhit = static_cast<const SiPixelRecHit *>(hit->hit());
1185  // Hit probability:
1186  float hit_prob = -1.;
1187  if (pixhit->hasFilledProb()) {
1188  hit_prob = pixhit->clusterProbability(0);
1189  // std::cout<<"HITPROB= "<<hit_prob<<std::endl;
1190  if (hit_prob < pow(10., -15.))
1191  NLowProb++;
1192  NTotal++;
1193  if (NTotal > 0)
1194  meHitProbability->Fill(float(NLowProb / NTotal));
1195  }
1196 
1197  // get the edm::Ref to the cluster
1198  edm::Ref<edmNew::DetSetVector<SiPixelCluster>, SiPixelCluster> const &clust = (*pixhit).cluster();
1199 
1200  // check if the ref is not null
1201  if (clust.isNonnull()) {
1202  // define tracker and pixel geometry and topology
1203  const TrackerGeometry &theTracker(*theTrackerGeometry);
1204  const PixelGeomDetUnit *theGeomDet =
1205  static_cast<const PixelGeomDetUnit *>(theTracker.idToDet(hit_detId));
1206 
1207  // test if PixelGeomDetUnit exists
1208  if (theGeomDet == nullptr) {
1209  if (debug_)
1210  std::cout << "NO THEGEOMDET\n";
1211  continue;
1212  }
1213 
1214  const PixelTopology *topol = &(theGeomDet->specificTopology());
1215  // fill histograms for clusters on tracks
1216  // correct SiPixelTrackResidualModule
1217  std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1218  theSiPixelStructure.find((*hit).geographicalId().rawId());
1219 
1220  // CHARGE CORRECTION (for track impact angle)
1221  // calculate alpha and beta from cluster position
1223  LocalVector localDir = ltp.momentum() / ltp.momentum().mag();
1224 
1225  float clust_alpha = atan2(localDir.z(), localDir.x());
1226  float clust_beta = atan2(localDir.z(), localDir.y());
1227  double corrCharge = clust->charge() *
1228  sqrt(1.0 / (1.0 / pow(tan(clust_alpha), 2) + 1.0 / pow(tan(clust_beta), 2) + 1.0)) /
1229  1000.;
1230 
1231  if (pxd != theSiPixelStructure.end())
1232  (*pxd).second->fill(
1233  (*clust), true, corrCharge, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
1234 
1235  trackclusters++;
1236  // CORR CHARGE
1237  meClChargeOnTrack_all->Fill(corrCharge);
1238  meClSizeOnTrack_all->Fill((*clust).size());
1239  meClSizeXOnTrack_all->Fill((*clust).sizeX());
1240  meClSizeYOnTrack_all->Fill((*clust).sizeY());
1241  clusterSet.insert(*clust);
1242 
1243  // find cluster global position (rphi, z)
1244  // get cluster center of gravity (of charge)
1245  float xcenter = clust->x();
1246  float ycenter = clust->y();
1247  // get the cluster position in local coordinates (cm)
1248  LocalPoint clustlp = topol->localPosition(MeasurementPoint(xcenter, ycenter));
1249  // get the cluster position in global coordinates (cm)
1250  GlobalPoint clustgp = theGeomDet->surface().toGlobal(clustlp);
1251 
1252  // find location of hit (barrel or endcap, same for cluster)
1253  bool barrel =
1254  DetId((*hit).geographicalId()).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
1255  bool endcap =
1256  DetId((*hit).geographicalId()).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
1257  if (barrel) {
1258  barreltrackclusters++;
1259 
1260  DetId detId = (*hit).geographicalId();
1261  if (detId >= 302055684 && detId <= 352477708) {
1263  }
1264 
1265  // CORR CHARGE
1266  meClChargeOnTrack_bpix->Fill(corrCharge);
1267  meClSizeOnTrack_bpix->Fill((*clust).size());
1268  meClSizeXOnTrack_bpix->Fill((*clust).sizeX());
1269  meClSizeYOnTrack_bpix->Fill((*clust).sizeY());
1270  int DBlayer;
1271  DBlayer = PixelBarrelName(DetId((*hit).geographicalId()), tTopo, isUpgrade).layerName();
1272  float phi = clustgp.phi();
1273  float z = clustgp.z();
1274 
1275  PixelBarrelName pbn(DetId((*hit).geographicalId()), tTopo, isUpgrade);
1276  int ladder = pbn.ladderName();
1277  int module = pbn.moduleName();
1278 
1279  PixelBarrelName::Shell sh = pbn.shell(); // enum
1280  int ladderSigned = ladder;
1281  int moduleSigned = module;
1282  // Shell { mO = 1, mI = 2 , pO =3 , pI =4 };
1283  int shell = int(sh);
1284  // change the module sign for z<0
1285  if (shell == 1 || shell == 2) {
1286  moduleSigned = -module;
1287  }
1288  // change ladeer sign for Outer )x<0)
1289  if (shell == 1 || shell == 3) {
1290  ladderSigned = -ladder;
1291  }
1292 
1293  for (int i = 0; i < noOfLayers; i++) {
1294  if (DBlayer == i + 1) {
1295  meClPosLayersOnTrack.at(i)->Fill(z, phi);
1296  meClPosLayersLadVsModOnTrack.at(i)->Fill(moduleSigned, ladderSigned);
1297  meClChargeOnTrack_layers.at(i)->Fill(corrCharge);
1298  meClSizeOnTrack_layers.at(i)->Fill((*clust).size());
1299  meClSizeXOnTrack_layers.at(i)->Fill((*clust).sizeX());
1300  meClSizeYOnTrack_layers.at(i)->Fill((*clust).sizeY());
1302  }
1303  }
1304  }
1305  if (endcap) {
1306  endcaptrackclusters++;
1307  // CORR CHARGE
1308  meClChargeOnTrack_fpix->Fill(corrCharge);
1309  meClSizeOnTrack_fpix->Fill((*clust).size());
1310  meClSizeXOnTrack_fpix->Fill((*clust).sizeX());
1311  meClSizeYOnTrack_fpix->Fill((*clust).sizeY());
1312  int DBdisk = 0;
1313  DBdisk = PixelEndcapName(DetId((*hit).geographicalId()), tTopo, isUpgrade).diskName();
1314  float x = clustgp.x();
1315  float y = clustgp.y();
1316  float z = clustgp.z();
1317  float phi = clustgp.phi();
1318 
1319  float xclust = clust->x();
1320  float yclust = clust->y();
1321 
1322  getepixrococcupancyontrk(tTopo, hit, xclust, yclust, z, meRocBladevsDiskEndcapOnTrk);
1323 
1324  if (z > 0) {
1325  for (int i = 0; i < noOfDisks; i++) {
1326  if (DBdisk == i + 1) {
1327  meClPosDiskspzOnTrack.at(i)->Fill(x, y);
1328  meClChargeOnTrack_diskps.at(i)->Fill(corrCharge);
1329  meClSizeOnTrack_diskps.at(i)->Fill((*clust).size());
1330  meClSizeXOnTrack_diskps.at(i)->Fill((*clust).sizeX());
1331  meClSizeYOnTrack_diskps.at(i)->Fill((*clust).sizeY());
1333  }
1334  }
1335  } else {
1336  for (int i = 0; i < noOfDisks; i++) {
1337  if (DBdisk == i + 1) {
1338  meClPosDisksmzOnTrack.at(i)->Fill(x, y);
1339  meClChargeOnTrack_diskms.at(i)->Fill(corrCharge);
1340  meClSizeOnTrack_diskms.at(i)->Fill((*clust).size());
1341  meClSizeXOnTrack_diskms.at(i)->Fill((*clust).sizeX());
1342  meClSizeYOnTrack_diskms.at(i)->Fill((*clust).sizeY());
1344  }
1345  }
1346  }
1347  }
1348 
1349  } // end if (cluster exists)
1350 
1351  } // end if (persistent hit exists and is pixel hit)
1352 
1353  } // end of else
1354 
1355  } // end for (all traj measurements of pixeltrack)
1356  } // end if (is pixeltrack)
1357  else {
1358  if (debug_)
1359  std::cout << "no pixeltrack:\n";
1360  if (crossesPixVol)
1361  meNofTracksInPixVol_->Fill(1, 1);
1362  }
1363 
1364  } // end loop on map entries
1365 
1366  } // end valid trajectory:
1367 
1368  // find clusters that are NOT on track
1369  // edmNew::DetSet<SiPixelCluster>::const_iterator di;
1370  if (debug_)
1371  std::cout << "clusters not on track: (size " << clustColl.size() << ") ";
1372 
1373  for (TrackerGeometry::DetContainer::const_iterator it = TG->dets().begin(); it != TG->dets().end(); it++) {
1374  // if(dynamic_cast<PixelGeomDetUnit const *>((*it))!=0){
1375  DetId detId = (*it)->geographicalId();
1376  if (detId >= 302055684 && detId <= 352477708) { // make sure it's a Pixel module WITHOUT using
1377  // dynamic_cast!
1378  int nofclOnTrack = 0, nofclOffTrack = 0;
1379  float z = 0.;
1381  if (isearch != clustColl.end()) { // Not an empty iterator
1383  for (di = isearch->begin(); di != isearch->end(); di++) {
1384  unsigned int temp = clusterSet.size();
1385  clusterSet.insert(*di);
1386  // check if cluster is off track
1387  if (clusterSet.size() > temp) {
1388  otherclusters++;
1389  nofclOffTrack++;
1390  // fill histograms for clusters off tracks
1391  // correct SiPixelTrackResidualModule
1392  bool barrel = DetId(detId).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
1393  if (barrel) {
1395  }
1396 
1397  std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1398  theSiPixelStructure.find((*it)->geographicalId().rawId());
1399 
1400  if (pxd != theSiPixelStructure.end())
1401  (*pxd).second->fill((*di), false, -1., reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
1402 
1403  meClSizeNotOnTrack_all->Fill((*di).size());
1404  meClSizeXNotOnTrack_all->Fill((*di).sizeX());
1405  meClSizeYNotOnTrack_all->Fill((*di).sizeY());
1406  meClChargeNotOnTrack_all->Fill((*di).charge() / 1000);
1407 
1409  // find cluster global position (rphi, z) get cluster
1410  // define tracker and pixel geometry and topology
1411  const TrackerGeometry &theTracker(*theTrackerGeometry);
1412  const PixelGeomDetUnit *theGeomDet = static_cast<const PixelGeomDetUnit *>(theTracker.idToDet(detId));
1413  // test if PixelGeomDetUnit exists
1414  if (theGeomDet == nullptr) {
1415  if (debug_)
1416  std::cout << "NO THEGEOMDET\n";
1417  continue;
1418  }
1419  const PixelTopology *topol = &(theGeomDet->specificTopology());
1420 
1421  // center of gravity (of charge)
1422  float xcenter = di->x();
1423  float ycenter = di->y();
1424  // get the cluster position in local coordinates (cm)
1425  LocalPoint clustlp = topol->localPosition(MeasurementPoint(xcenter, ycenter));
1426  // get the cluster position in global coordinates (cm)
1427  GlobalPoint clustgp = theGeomDet->surface().toGlobal(clustlp);
1428 
1430 
1431  // barrel
1432  if (DetId(detId).subdetId() == 1) {
1433  meClSizeNotOnTrack_bpix->Fill((*di).size());
1434  meClSizeXNotOnTrack_bpix->Fill((*di).sizeX());
1435  meClSizeYNotOnTrack_bpix->Fill((*di).sizeY());
1436  meClChargeNotOnTrack_bpix->Fill((*di).charge() / 1000);
1437  barrelotherclusters++;
1438  int DBlayer = PixelBarrelName(DetId(detId), tTopo, isUpgrade).layerName();
1439  float phi = clustgp.phi();
1440  // float r = clustgp.perp();
1441  z = clustgp.z();
1442  for (int i = 0; i < noOfLayers; i++) {
1443  if (DBlayer == i + 1) {
1444  meClPosLayersNotOnTrack.at(i)->Fill(z, phi);
1445  meClSizeNotOnTrack_layers.at(i)->Fill((*di).size());
1446  meClSizeXNotOnTrack_layers.at(i)->Fill((*di).sizeX());
1447  meClSizeYNotOnTrack_layers.at(i)->Fill((*di).sizeY());
1448  meClChargeNotOnTrack_layers.at(i)->Fill((*di).charge() / 1000);
1449  }
1450  }
1451  }
1452  // endcap
1453  if (DetId(detId).subdetId() == 2) {
1454  meClSizeNotOnTrack_fpix->Fill((*di).size());
1455  meClSizeXNotOnTrack_fpix->Fill((*di).sizeX());
1456  meClSizeYNotOnTrack_fpix->Fill((*di).sizeY());
1457  meClChargeNotOnTrack_fpix->Fill((*di).charge() / 1000);
1458  endcapotherclusters++;
1459  int DBdisk = PixelEndcapName(DetId(detId), tTopo, isUpgrade).diskName();
1460  float x = clustgp.x();
1461  float y = clustgp.y();
1462  z = clustgp.z();
1463 
1465 
1466  if (z > 0) {
1467  for (int i = 0; i < noOfDisks; i++) {
1468  if (DBdisk == i + 1) {
1469  meClPosDiskspzNotOnTrack.at(i)->Fill(x, y);
1470  meClSizeNotOnTrack_diskps.at(i)->Fill((*di).size());
1471  meClSizeXNotOnTrack_diskps.at(i)->Fill((*di).sizeX());
1472  meClSizeYNotOnTrack_diskps.at(i)->Fill((*di).sizeY());
1473  meClChargeNotOnTrack_diskps.at(i)->Fill((*di).charge() / 1000);
1474  }
1475  }
1476  } else {
1477  for (int i = 0; i < noOfDisks; i++) {
1478  if (DBdisk == i + 1) {
1479  meClPosDisksmzNotOnTrack.at(i)->Fill(x, y);
1480  meClSizeNotOnTrack_diskms.at(i)->Fill((*di).size());
1481  meClSizeXNotOnTrack_diskms.at(i)->Fill((*di).sizeX());
1482  meClSizeYNotOnTrack_diskms.at(i)->Fill((*di).sizeY());
1483  meClChargeNotOnTrack_diskms.at(i)->Fill((*di).charge() / 1000);
1484  }
1485  }
1486  }
1487  }
1488  } // end "if cluster off track"
1489  else {
1490  nofclOnTrack++;
1491  if (z == 0) {
1492  // find cluster global position (rphi, z) get cluster
1493  // define tracker and pixel geometry and topology
1494  const TrackerGeometry &theTracker(*theTrackerGeometry);
1495  const PixelGeomDetUnit *theGeomDet = static_cast<const PixelGeomDetUnit *>(theTracker.idToDet(detId));
1496  // test if PixelGeomDetUnit exists
1497  if (theGeomDet == nullptr) {
1498  if (debug_)
1499  std::cout << "NO THEGEOMDET\n";
1500  continue;
1501  }
1502  const PixelTopology *topol = &(theGeomDet->specificTopology());
1503  // center of gravity (of charge)
1504  float xcenter = di->x();
1505  float ycenter = di->y();
1506  // get the cluster position in local coordinates (cm)
1507  LocalPoint clustlp = topol->localPosition(MeasurementPoint(xcenter, ycenter));
1508  // get the cluster position in global coordinates (cm)
1509  GlobalPoint clustgp = theGeomDet->surface().toGlobal(clustlp);
1510  z = clustgp.z();
1511  }
1512  }
1513  }
1514  }
1515  //++ fill the number of clusters on a module
1516  std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1517  theSiPixelStructure.find((*it)->geographicalId().rawId());
1518  if (pxd != theSiPixelStructure.end())
1519  (*pxd).second->nfill(
1520  nofclOnTrack, nofclOffTrack, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
1521  if (nofclOnTrack != 0)
1522  meNClustersOnTrack_all->Fill(nofclOnTrack);
1523  if (nofclOffTrack != 0)
1524  meNClustersNotOnTrack_all->Fill(nofclOffTrack);
1525  // barrel
1526  if (DetId(detId).subdetId() == 1) {
1527  if (nofclOnTrack != 0)
1528  meNClustersOnTrack_bpix->Fill(nofclOnTrack);
1529  if (nofclOffTrack != 0)
1530  meNClustersNotOnTrack_bpix->Fill(nofclOffTrack);
1531  int DBlayer = PixelBarrelName(DetId(detId), tTopo, isUpgrade).layerName();
1532  for (int i = 0; i < noOfLayers; i++) {
1533  if (DBlayer == i + 1) {
1534  if (nofclOnTrack != 0)
1535  meNClustersOnTrack_layers.at(i)->Fill(nofclOnTrack);
1536  if (nofclOffTrack != 0)
1537  meNClustersNotOnTrack_layers.at(i)->Fill(nofclOffTrack);
1538  }
1539  }
1540  } // end barrel
1541  // endcap
1542  if (DetId(detId).subdetId() == 2) {
1543  int DBdisk = PixelEndcapName(DetId(detId)).diskName();
1544  // z = clustgp.z();
1545  if (nofclOnTrack != 0)
1546  meNClustersOnTrack_fpix->Fill(nofclOnTrack);
1547  if (nofclOffTrack != 0)
1548  meNClustersNotOnTrack_fpix->Fill(nofclOffTrack);
1549  if (z > 0) {
1550  for (int i = 0; i < noOfDisks; i++) {
1551  if (DBdisk == i + 1) {
1552  if (nofclOnTrack != 0)
1553  meNClustersOnTrack_diskps.at(i)->Fill(nofclOnTrack);
1554  if (nofclOffTrack != 0)
1555  meNClustersNotOnTrack_diskps.at(i)->Fill(nofclOffTrack);
1556  }
1557  }
1558  }
1559  if (z < 0) {
1560  for (int i = 0; i < noOfDisks; i++) {
1561  if (DBdisk == i + 1) {
1562  if (nofclOnTrack != 0)
1563  meNClustersOnTrack_diskms.at(i)->Fill(nofclOnTrack);
1564  if (nofclOffTrack != 0)
1565  meNClustersNotOnTrack_diskms.at(i)->Fill(nofclOffTrack);
1566  }
1567  }
1568  }
1569  }
1570 
1571  } // end if it's a Pixel module
1572  } // end for loop over tracker detector geometry modules
1573 
1574  if (trackclusters > 0)
1575  (meNofClustersOnTrack_)->Fill(0, trackclusters);
1576  if (barreltrackclusters > 0)
1577  (meNofClustersOnTrack_)->Fill(1, barreltrackclusters);
1578  if (endcaptrackclusters > 0)
1579  (meNofClustersOnTrack_)->Fill(2, endcaptrackclusters);
1580  if (otherclusters > 0)
1581  (meNofClustersNotOnTrack_)->Fill(0, otherclusters);
1582  if (barrelotherclusters > 0)
1583  (meNofClustersNotOnTrack_)->Fill(1, barrelotherclusters);
1584  if (endcapotherclusters > 0)
1585  (meNofClustersNotOnTrack_)->Fill(2, endcapotherclusters);
1586  if (tracks > 0)
1587  (meNofTracks_)->Fill(0, tracks);
1588  if (pixeltracks > 0)
1589  (meNofTracks_)->Fill(1, pixeltracks);
1590  if (bpixtracks > 0)
1591  (meNofTracks_)->Fill(2, bpixtracks);
1592  if (fpixtracks > 0)
1593  (meNofTracks_)->Fill(3, fpixtracks);
1594 }
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
unsigned int pxbLayer(const DetId &id) const
std::vector< MonitorElement * > meClPosDisksmzNotOnTrack
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
std::vector< MonitorElement * > meClChargeOnTrack_layers
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
T z() const
Definition: PV3DBase.h:61
int layerName() const
layer id
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
std::vector< MonitorElement * > meClSizeOnTrack_layers
T const * product() const
Definition: Handle.h:70
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
bool hasFilledProb() const
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
constexpr int pow(int x)
Definition: conifer.h:24
const LocalTrajectoryParameters & localParameters() const
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > transientTrackingRecHitBuilderToken_
data_type const * const_iterator
Definition: DetSetNew.h:31
T x() const
Definition: PV2DBase.h:43
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
double ndof() const
Definition: Vertex.h:123
std::vector< MonitorElement * > meClPosLayersNotOnTrack
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
key_type key() const
Accessor for product key.
Definition: Ref.h:250
std::vector< MonitorElement * > meClPosDisksmzOnTrack
const_iterator end(bool update=false) const
std::vector< MonitorElement * > meClSizeXOnTrack_layers
T y() const
Definition: PV2DBase.h:44
reco::TransientTrack build(const reco::Track *p) const
void Fill(long long x)
std::vector< MonitorElement * > meNClustersOnTrack_layers
double x0() const
x coordinate
Definition: BeamSpot.h:61
bool failedToGet() const
Definition: HandleBase.h:72
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement *> meinput)
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
void getepixrococcupancyontrk(const TrackerTopology *const tTopo, TransientTrackingRecHit::ConstRecHitPointer hit, float xclust, float yclust, float z, MonitorElement *meinput)
int iEvent
Definition: GenABIO.cc:224
T const * product() const
Definition: ESHandle.h:86
FreeTrajectoryState initialFreeState() const
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
int diskName() const
disk id
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
T sqrt(T t)
Definition: SSEVec.h:19
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
std::vector< MonitorElement * > meClChargeOnTrack_diskps
std::vector< MonitorElement * > meNClustersOnTrack_diskms
LocalVector momentum() const
Momentum vector in the local frame.
void triplets(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double ptsig, double &dc, double &dz, double kap)
T mag() const
Definition: PV3DBase.h:64
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< MonitorElement * > meResidualYSummedLay
std::vector< MonitorElement * > meClPosLayersOnTrack
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
TrajectoryStateOnSurface innermostMeasurementState() const
double y0() const
y coordinate
Definition: BeamSpot.h:63
std::vector< MonitorElement * > meClPosDiskspzOnTrack
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
float clusterProbability(unsigned int flags=0) const
Definition: SiPixelRecHit.cc:9
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
void getepixrococcupancyofftrk(DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput)
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< MonitorElement * > meClSizeYOnTrack_layers
std::vector< MonitorElement * > meClChargeOnTrack_diskms
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetId.h:17
static constexpr float d0
double transverseCurvature() const
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
const_iterator begin(bool update=false) const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
int layerName() const
layer id
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::vector< MonitorElement * > meNClustersOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
bool isValid() const
Definition: HandleBase.h:70
double z0() const
z coordinate
Definition: BeamSpot.h:65
Pixel cluster – collection of neighboring pixels above threshold.
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
std::vector< MonitorElement * > meClSizeOnTrack_diskps
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
Definition: shell.py:1
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
std::vector< MonitorElement * > meResidualXSummedLay
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeOnTrack_diskms
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
Our base class.
Definition: SiPixelRecHit.h:23

◆ bookHistograms()

void SiPixelTrackResidualSource::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 149 of file SiPixelTrackResidualSource.cc.

References bladeOn, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), clustersrc_, debug_, digisrc_, diskOn, Exception, firstRun, edm::EventSetup::getHandle(), mps_fire::i, isUpgrade, edm::InputTag::label(), ladOn, layOn, meClChargeNotOnTrack_all, meClChargeNotOnTrack_bpix, meClChargeNotOnTrack_diskms, meClChargeNotOnTrack_diskps, meClChargeNotOnTrack_fpix, meClChargeNotOnTrack_layers, meClChargeOnTrack_all, meClChargeOnTrack_bpix, meClChargeOnTrack_diskms, meClChargeOnTrack_diskps, meClChargeOnTrack_fpix, meClChargeOnTrack_layers, meClPosDisksmzNotOnTrack, meClPosDisksmzOnTrack, meClPosDiskspzNotOnTrack, meClPosDiskspzOnTrack, meClPosLayersLadVsModOnTrack, meClPosLayersNotOnTrack, meClPosLayersOnTrack, meClSizeNotOnTrack_all, meClSizeNotOnTrack_bpix, meClSizeNotOnTrack_diskms, meClSizeNotOnTrack_diskps, meClSizeNotOnTrack_fpix, meClSizeNotOnTrack_layers, meClSizeOnTrack_all, meClSizeOnTrack_bpix, meClSizeOnTrack_diskms, meClSizeOnTrack_diskps, meClSizeOnTrack_fpix, meClSizeOnTrack_layers, meClSizeXNotOnTrack_all, meClSizeXNotOnTrack_bpix, meClSizeXNotOnTrack_diskms, meClSizeXNotOnTrack_diskps, meClSizeXNotOnTrack_fpix, meClSizeXNotOnTrack_layers, meClSizeXOnTrack_all, meClSizeXOnTrack_bpix, meClSizeXOnTrack_diskms, meClSizeXOnTrack_diskps, meClSizeXOnTrack_fpix, meClSizeXOnTrack_layers, meClSizeYNotOnTrack_all, meClSizeYNotOnTrack_bpix, meClSizeYNotOnTrack_diskms, meClSizeYNotOnTrack_diskps, meClSizeYNotOnTrack_fpix, meClSizeYNotOnTrack_layers, meClSizeYOnTrack_all, meClSizeYOnTrack_bpix, meClSizeYOnTrack_diskms, meClSizeYOnTrack_diskps, meClSizeYOnTrack_fpix, meClSizeYOnTrack_layers, meHitProbability, meNClustersNotOnTrack_all, meNClustersNotOnTrack_bpix, meNClustersNotOnTrack_diskms, meNClustersNotOnTrack_diskps, meNClustersNotOnTrack_fpix, meNClustersNotOnTrack_layers, meNClustersOnTrack_all, meNClustersOnTrack_bpix, meNClustersOnTrack_diskms, meNClustersOnTrack_diskps, meNClustersOnTrack_fpix, meNClustersOnTrack_layers, meNofClustersNotOnTrack_, meNofClustersOnTrack_, meNofClustersvsPhiOnTrack_diskms, meNofClustersvsPhiOnTrack_diskps, meNofClustersvsPhiOnTrack_layers, meNofTracks_, meNofTracksInPixVol_, meResidualXSummedLay, meResidualYSummedLay, meRocBladevsDiskEndcapOffTrk, meRocBladevsDiskEndcapOnTrk, meSubdetResidualX, meSubdetResidualY, meZeroRocLadvsModOffTrackBarrel, meZeroRocLadvsModOnTrackBarrel, modOn, hfnoseParametersInitialization_cfi::nameX, noOfDisks, noOfLayers, phiOn, edm::ESHandle< T >::product(), pSet_, reducedSet, ringOn, alignCSCRings::s, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), AlCaHLTBitMon_QueryRunRegistry::string, theSiPixelStructure, topFolderName_, trackerTopoTokenBeginRun_, tracksrc_, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

151  {
152  // book residual histograms in theSiPixelFolder - one (x,y) pair of histograms
153  // per det
154  SiPixelFolderOrganizer theSiPixelFolder(false);
155 
156  edm::ESHandle<TrackerTopology> tTopoHandle = iSetup.getHandle(trackerTopoTokenBeginRun_);
157  const TrackerTopology *pTT = tTopoHandle.product();
158 
159  std::stringstream nameX, titleX, nameY, titleY;
160 
161  if (ladOn) {
162  iBooker.setCurrentFolder(topFolderName_ + "/Barrel");
163  for (int i = 1; i <= noOfLayers; i++) {
164  nameX.str(std::string());
165  nameX << "siPixelTrackResidualsX_SummedLayer_" << i;
166  titleX.str(std::string());
167  titleX << "Layer" << i << "Hit-to-Track Residual in r-phi";
168  meResidualXSummedLay.push_back(iBooker.book1D(nameX.str(), titleX.str(), 100, -150, 150));
169  meResidualXSummedLay.at(i - 1)->setAxisTitle("hit-to-track residual in r-phi (um)", 1);
170  nameY.str(std::string());
171  nameY << "siPixelTrackResidualsY_SummedLayer_" << i;
172  titleY.str(std::string());
173  titleY << "Layer" << i << "Hit-to-Track Residual in Z";
174  meResidualYSummedLay.push_back(iBooker.book1D(nameY.str(), titleY.str(), 100, -300, 300));
175  meResidualYSummedLay.at(i - 1)->setAxisTitle("hit-to-track residual in z (um)", 1);
176  }
177  }
178 
179  for (std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd = theSiPixelStructure.begin();
180  pxd != theSiPixelStructure.end();
181  pxd++) {
182  if (modOn) {
183  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 0, isUpgrade))
184  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 0, isUpgrade);
185  else
186  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Folder Creation Failed! ";
187  }
188  if (ladOn) {
189  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 1, isUpgrade)) {
190  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 1, isUpgrade);
191  } else
192  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource ladder Folder Creation Failed! ";
193  }
194  if (layOn) {
195  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 2, isUpgrade))
196  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 2, isUpgrade);
197  else
198  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource layer Folder Creation Failed! ";
199  }
200  if (phiOn) {
201  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 3, isUpgrade))
202  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 3, isUpgrade);
203  else
204  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource phi Folder Creation Failed! ";
205  }
206  if (bladeOn) {
207  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 4, isUpgrade))
208  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 4, isUpgrade);
209  else
210  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Blade Folder Creation Failed! ";
211  }
212  if (diskOn) {
213  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 5, isUpgrade))
214  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 5, isUpgrade);
215  else
216  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Disk Folder Creation Failed! ";
217  }
218  if (ringOn) {
219  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 6, isUpgrade))
220  (*pxd).second->book(pSet_, pTT, iBooker, reducedSet, 6, isUpgrade);
221  else
222  throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Ring Folder Creation Failed! ";
223  }
224  }
225 
226  // edm::InputTag tracksrc =
227  // pSet_.getParameter<edm::InputTag>("trajectoryInput"); edm::InputTag
228  // clustersrc = pSet_.getParameter<edm::InputTag>("clustersrc");
229 
230  // number of tracks
231  iBooker.setCurrentFolder(topFolderName_ + "/Tracks");
232  meNofTracks_ = iBooker.book1D("ntracks_" + tracksrc_.label(), "Number of Tracks", 4, 0, 4);
233  meNofTracks_->setAxisTitle("Number of Tracks", 1);
234  meNofTracks_->setBinLabel(1, "All");
235  meNofTracks_->setBinLabel(2, "Pixel");
236  meNofTracks_->setBinLabel(3, "BPix");
237  meNofTracks_->setBinLabel(4, "FPix");
238 
239  // number of tracks in pixel fiducial volume
240  iBooker.setCurrentFolder(topFolderName_ + "/Tracks");
241  meNofTracksInPixVol_ = iBooker.book1D(
242  "ntracksInPixVol_" + tracksrc_.label(), "Number of Tracks crossing Pixel fiducial Volume", 2, 0, 2);
243  meNofTracksInPixVol_->setAxisTitle("Number of Tracks", 1);
244  meNofTracksInPixVol_->setBinLabel(1, "With Hits");
245  meNofTracksInPixVol_->setBinLabel(2, "Without Hits");
246 
247  // number of clusters (associated to track / not associated)
248  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OnTrack");
250  iBooker.book1D("nclusters_" + clustersrc_.label() + "_tot", "Number of Clusters (on track)", 3, 0, 3);
251  meNofClustersOnTrack_->setAxisTitle("Number of Clusters on Track", 1);
255  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OffTrack");
257  iBooker.book1D("nclusters_" + clustersrc_.label() + "_tot", "Number of Clusters (off track)", 3, 0, 3);
258  meNofClustersNotOnTrack_->setAxisTitle("Number of Clusters off Track", 1);
262 
263  // cluster charge and size
264  // charge
265  // on track
266  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OnTrack");
267  std::stringstream ss1, ss2;
268  meClChargeOnTrack_all = iBooker.book1D("charge_" + clustersrc_.label(), "Charge (on track)", 500, 0., 500.);
269  meClChargeOnTrack_all->setAxisTitle("Charge size (in ke)", 1);
271  iBooker.book1D("charge_" + clustersrc_.label() + "_Barrel", "Charge (on track, barrel)", 500, 0., 500.);
272  meClChargeOnTrack_bpix->setAxisTitle("Charge size (in ke)", 1);
274  iBooker.book1D("charge_" + clustersrc_.label() + "_Endcap", "Charge (on track, endcap)", 500, 0., 500.);
275  meClChargeOnTrack_fpix->setAxisTitle("Charge size (in ke)", 1);
276  for (int i = 1; i <= noOfLayers; i++) {
277  ss1.str(std::string());
278  ss1 << "charge_" + clustersrc_.label() + "_Layer_" << i;
279  ss2.str(std::string());
280  ss2 << "Charge (on track, layer" << i << ")";
281  meClChargeOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
282  meClChargeOnTrack_layers.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
283  }
284  for (int i = 1; i <= noOfDisks; i++) {
285  ss1.str(std::string());
286  ss1 << "charge_" + clustersrc_.label() + "_Disk_p" << i;
287  ss2.str(std::string());
288  ss2 << "Charge (on track, diskp" << i << ")";
289  meClChargeOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
290  meClChargeOnTrack_diskps.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
291  }
292  for (int i = 1; i <= noOfDisks; i++) {
293  ss1.str(std::string());
294  ss1 << "charge_" + clustersrc_.label() + "_Disk_m" << i;
295  ss2.str(std::string());
296  ss2 << "Charge (on track, diskm" << i << ")";
297  meClChargeOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
298  meClChargeOnTrack_diskms.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
299  }
300  // off track
301  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OffTrack");
302  meClChargeNotOnTrack_all = iBooker.book1D("charge_" + clustersrc_.label(), "Charge (off track)", 500, 0., 500.);
303  meClChargeNotOnTrack_all->setAxisTitle("Charge size (in ke)", 1);
305  iBooker.book1D("charge_" + clustersrc_.label() + "_Barrel", "Charge (off track, barrel)", 500, 0., 500.);
306  meClChargeNotOnTrack_bpix->setAxisTitle("Charge size (in ke)", 1);
308  iBooker.book1D("charge_" + clustersrc_.label() + "_Endcap", "Charge (off track, endcap)", 500, 0., 500.);
309  meClChargeNotOnTrack_fpix->setAxisTitle("Charge size (in ke)", 1);
310  for (int i = 1; i <= noOfLayers; i++) {
311  ss1.str(std::string());
312  ss1 << "charge_" + clustersrc_.label() + "_Layer_" << i;
313  ss2.str(std::string());
314  ss2 << "Charge (off track, layer" << i << ")";
315  meClChargeNotOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
316  meClChargeNotOnTrack_layers.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
317  }
318  for (int i = 1; i <= noOfDisks; i++) {
319  ss1.str(std::string());
320  ss1 << "charge_" + clustersrc_.label() + "_Disk_p" << i;
321  ss2.str(std::string());
322  ss2 << "Charge (off track, diskp" << i << ")";
323  meClChargeNotOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
324  meClChargeNotOnTrack_diskps.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
325  }
326  for (int i = 1; i <= noOfDisks; i++) {
327  ss1.str(std::string());
328  ss1 << "charge_" + clustersrc_.label() + "_Disk_m" << i;
329  ss2.str(std::string());
330  ss2 << "Charge (off track, diskm" << i << ")";
331  meClChargeNotOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
332  meClChargeNotOnTrack_diskms.at(i - 1)->setAxisTitle("Charge size (in ke)", 1);
333  }
334 
335  // size
336  // on track
337  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OnTrack");
338  meClSizeOnTrack_all = iBooker.book1D("size_" + clustersrc_.label(), "Size (on track)", 100, 0., 100.);
339  meClSizeOnTrack_all->setAxisTitle("Cluster size (in pixels)", 1);
341  iBooker.book1D("size_" + clustersrc_.label() + "_Barrel", "Size (on track, barrel)", 100, 0., 100.);
342  meClSizeOnTrack_bpix->setAxisTitle("Cluster size (in pixels)", 1);
344  iBooker.book1D("size_" + clustersrc_.label() + "_Endcap", "Size (on track, endcap)", 100, 0., 100.);
345  meClSizeOnTrack_fpix->setAxisTitle("Cluster size (in pixels)", 1);
346  for (int i = 1; i <= noOfLayers; i++) {
347  ss1.str(std::string());
348  ss1 << "size_" + clustersrc_.label() + "_Layer_" << i;
349  ss2.str(std::string());
350  ss2 << "Size (on track, layer" << i << ")";
351  meClSizeOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
352  meClSizeOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
353  }
354  for (int i = 1; i <= noOfDisks; i++) {
355  ss1.str(std::string());
356  ss1 << "size_" + clustersrc_.label() + "_Disk_p" << i;
357  ss2.str(std::string());
358  ss2 << "Size (on track, diskp" << i << ")";
359  meClSizeOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
360  meClSizeOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
361  }
362  for (int i = 1; i <= noOfDisks; i++) {
363  ss1.str(std::string());
364  ss1 << "size_" + clustersrc_.label() + "_Disk_m1" << i;
365  ss2.str(std::string());
366  ss2 << "Size (on track, diskm" << i << ")";
367  meClSizeOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
368  meClSizeOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
369  }
370  meClSizeXOnTrack_all = iBooker.book1D("sizeX_" + clustersrc_.label(), "SizeX (on track)", 100, 0., 100.);
371  meClSizeXOnTrack_all->setAxisTitle("Cluster sizeX (in pixels)", 1);
373  iBooker.book1D("sizeX_" + clustersrc_.label() + "_Barrel", "SizeX (on track, barrel)", 100, 0., 100.);
374  meClSizeXOnTrack_bpix->setAxisTitle("Cluster sizeX (in pixels)", 1);
376  iBooker.book1D("sizeX_" + clustersrc_.label() + "_Endcap", "SizeX (on track, endcap)", 100, 0., 100.);
377  meClSizeXOnTrack_fpix->setAxisTitle("Cluster sizeX (in pixels)", 1);
378  for (int i = 1; i <= noOfLayers; i++) {
379  ss1.str(std::string());
380  ss1 << "sizeX_" + clustersrc_.label() + "_Layer_" << i;
381  ss2.str(std::string());
382  ss2 << "SizeX (on track, layer" << i << ")";
383  meClSizeXOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
384  meClSizeXOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
385  }
386  for (int i = 1; i <= noOfDisks; i++) {
387  ss1.str(std::string());
388  ss1 << "sizeX_" + clustersrc_.label() + "_Disk_p" << i;
389  ss2.str(std::string());
390  ss2 << "SizeX (on track, diskp" << i << ")";
391  meClSizeXOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
392  meClSizeXOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
393  }
394  for (int i = 1; i <= noOfDisks; i++) {
395  ss1.str(std::string());
396  ss1 << "sizeX_" + clustersrc_.label() + "_Disk_m" << i;
397  ss2.str(std::string());
398  ss2 << "SizeX (on track, diskm" << i << ")";
399  meClSizeXOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
400  meClSizeXOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
401  }
402  meClSizeYOnTrack_all = iBooker.book1D("sizeY_" + clustersrc_.label(), "SizeY (on track)", 100, 0., 100.);
403  meClSizeYOnTrack_all->setAxisTitle("Cluster sizeY (in pixels)", 1);
405  iBooker.book1D("sizeY_" + clustersrc_.label() + "_Barrel", "SizeY (on track, barrel)", 100, 0., 100.);
406  meClSizeYOnTrack_bpix->setAxisTitle("Cluster sizeY (in pixels)", 1);
408  iBooker.book1D("sizeY_" + clustersrc_.label() + "_Endcap", "SizeY (on track, endcap)", 100, 0., 100.);
409  meClSizeYOnTrack_fpix->setAxisTitle("Cluster sizeY (in pixels)", 1);
410  for (int i = 1; i <= noOfLayers; i++) {
411  ss1.str(std::string());
412  ss1 << "sizeY_" + clustersrc_.label() + "_Layer_" << i;
413  ss2.str(std::string());
414  ss2 << "SizeY (on track, layer" << i << ")";
415  meClSizeYOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
416  meClSizeYOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
417  }
418  for (int i = 1; i <= noOfDisks; i++) {
419  ss1.str(std::string());
420  ss1 << "sizeY_" + clustersrc_.label() + "_Disk_p" << i;
421  ss2.str(std::string());
422  ss2 << "SizeY (on track, diskp" << i << ")";
423  meClSizeYOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
424  meClSizeYOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
425  }
426  for (int i = 1; i <= noOfDisks; i++) {
427  ss1.str(std::string());
428  ss1 << "sizeY_" + clustersrc_.label() + "_Disk_m" << i;
429  ss2.str(std::string());
430  ss2 << "SizeY (on track, diskm" << i << ")";
431  meClSizeYOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
432  meClSizeYOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
433  }
434  // off track
435  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OffTrack");
436  meClSizeNotOnTrack_all = iBooker.book1D("size_" + clustersrc_.label(), "Size (off track)", 100, 0., 100.);
437  meClSizeNotOnTrack_all->setAxisTitle("Cluster size (in pixels)", 1);
439  iBooker.book1D("size_" + clustersrc_.label() + "_Barrel", "Size (off track, barrel)", 100, 0., 100.);
440  meClSizeNotOnTrack_bpix->setAxisTitle("Cluster size (in pixels)", 1);
442  iBooker.book1D("size_" + clustersrc_.label() + "_Endcap", "Size (off track, endcap)", 100, 0., 100.);
443  meClSizeNotOnTrack_fpix->setAxisTitle("Cluster size (in pixels)", 1);
444  for (int i = 1; i <= noOfLayers; i++) {
445  ss1.str(std::string());
446  ss1 << "size_" + clustersrc_.label() + "_Layer_" << i;
447  ss2.str(std::string());
448  ss2 << "Size (off track, layer" << i << ")";
449  meClSizeNotOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
450  meClSizeNotOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
451  }
452 
453  for (int i = 1; i <= noOfLayers; i++) {
454  int ybins = -1;
455  float ymin = 0.;
456  float ymax = 0.;
457  if (i == 1) {
458  ybins = 42;
459  ymin = -10.5;
460  ymax = 10.5;
461  }
462  if (i == 2) {
463  ybins = 66;
464  ymin = -16.5;
465  ymax = 16.5;
466  }
467  if (i == 3) {
468  ybins = 90;
469  ymin = -22.5;
470  ymax = 22.5;
471  }
472  ss1.str(std::string());
473  ss1 << "pix_bar Occ_roc_offtrack" + digisrc_.label() + "_layer_" << i;
474  ss2.str(std::string());
475  ss2 << "Pixel Barrel Occupancy, ROC level (Off Track): Layer " << i;
476  meZeroRocLadvsModOffTrackBarrel.push_back(iBooker.book2D(ss1.str(), ss2.str(), 72, -4.5, 4.5, ybins, ymin, ymax));
477  meZeroRocLadvsModOffTrackBarrel.at(i - 1)->setAxisTitle("ROC / Module", 1);
478  meZeroRocLadvsModOffTrackBarrel.at(i - 1)->setAxisTitle("ROC / Ladder", 2);
479  }
480 
481  for (int i = 1; i <= noOfDisks; i++) {
482  ss1.str(std::string());
483  ss1 << "size_" + clustersrc_.label() + "_Disk_p" << i;
484  ss2.str(std::string());
485  ss2 << "Size (off track, diskp" << i << ")";
486  meClSizeNotOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
487  meClSizeNotOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
488  }
489  for (int i = 1; i <= noOfDisks; i++) {
490  ss1.str(std::string());
491  ss1 << "size_" + clustersrc_.label() + "_Disk_m" << i;
492  ss2.str(std::string());
493  ss2 << "Size (off track, diskm" << i << ")";
494  meClSizeNotOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
495  meClSizeNotOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
496  }
497  meClSizeXNotOnTrack_all = iBooker.book1D("sizeX_" + clustersrc_.label(), "SizeX (off track)", 100, 0., 100.);
498  meClSizeXNotOnTrack_all->setAxisTitle("Cluster sizeX (in pixels)", 1);
500  iBooker.book1D("sizeX_" + clustersrc_.label() + "_Barrel", "SizeX (off track, barrel)", 100, 0., 100.);
501  meClSizeXNotOnTrack_bpix->setAxisTitle("Cluster sizeX (in pixels)", 1);
503  iBooker.book1D("sizeX_" + clustersrc_.label() + "_Endcap", "SizeX (off track, endcap)", 100, 0., 100.);
504  meClSizeXNotOnTrack_fpix->setAxisTitle("Cluster sizeX (in pixels)", 1);
505  for (int i = 1; i <= noOfLayers; i++) {
506  ss1.str(std::string());
507  ss1 << "sizeX_" + clustersrc_.label() + "_Layer_" << i;
508  ss2.str(std::string());
509  ss2 << "SizeX (off track, layer" << i << ")";
510  meClSizeXNotOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
511  meClSizeXNotOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
512  }
513  for (int i = 1; i <= noOfDisks; i++) {
514  ss1.str(std::string());
515  ss1 << "sizeX_" + clustersrc_.label() + "_Disk_p" << i;
516  ss2.str(std::string());
517  ss2 << "SizeX (off track, diskp" << i << ")";
518  meClSizeXNotOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
519  meClSizeXNotOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
520  }
521  for (int i = 1; i <= noOfDisks; i++) {
522  ss1.str(std::string());
523  ss1 << "sizeX_" + clustersrc_.label() + "_Disk_m" << i;
524  ss2.str(std::string());
525  ss2 << "SizeX (off track, diskm" << i << ")";
526  meClSizeXNotOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
527  meClSizeXNotOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
528  }
529  meClSizeYNotOnTrack_all = iBooker.book1D("sizeY_" + clustersrc_.label(), "SizeY (off track)", 100, 0., 100.);
530  meClSizeYNotOnTrack_all->setAxisTitle("Cluster sizeY (in pixels)", 1);
532  iBooker.book1D("sizeY_" + clustersrc_.label() + "_Barrel", "SizeY (off track, barrel)", 100, 0., 100.);
533  meClSizeYNotOnTrack_bpix->setAxisTitle("Cluster sizeY (in pixels)", 1);
535  iBooker.book1D("sizeY_" + clustersrc_.label() + "_Endcap", "SizeY (off track, endcap)", 100, 0., 100.);
536  meClSizeYNotOnTrack_fpix->setAxisTitle("Cluster sizeY (in pixels)", 1);
537  for (int i = 1; i <= noOfLayers; i++) {
538  ss1.str(std::string());
539  ss1 << "sizeY_" + clustersrc_.label() + "_Layer_" << i;
540  ss2.str(std::string());
541  ss2 << "SizeY (off track, layer" << i << ")";
542  meClSizeYNotOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
543  meClSizeYNotOnTrack_layers.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
544  }
545  for (int i = 1; i <= noOfDisks; i++) {
546  ss1.str(std::string());
547  ss1 << "sizeY_" + clustersrc_.label() + "_Disk_p" << i;
548  ss2.str(std::string());
549  ss2 << "SizeY (off track, diskp" << i << ")";
550  meClSizeYNotOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
551  meClSizeYNotOnTrack_diskps.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
552  }
553  for (int i = 1; i <= noOfDisks; i++) {
554  ss1.str(std::string());
555  ss1 << "sizeY_" + clustersrc_.label() + "_Disk_m" << i;
556  ss2.str(std::string());
557  ss2 << "SizeY (off track, diskm" << i << ")";
558  meClSizeYNotOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
559  meClSizeYNotOnTrack_diskms.at(i - 1)->setAxisTitle("Cluster size (in pixels)", 1);
560  }
561 
562  // cluster global position
563  // on track
564  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OnTrack");
565  // bpix
566  for (int i = 1; i <= noOfLayers; i++) {
567  ss1.str(std::string());
568  ss1 << "position_" + clustersrc_.label() + "_Layer_" << i;
569  ss2.str(std::string());
570  ss2 << "Clusters Layer" << i << " (on track)";
571  meClPosLayersOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 200, -30., 30., 128, -3.2, 3.2));
572  meClPosLayersOnTrack.at(i - 1)->setAxisTitle("Global Z (cm)", 1);
573  meClPosLayersOnTrack.at(i - 1)->setAxisTitle("Global #phi", 2);
574 
575  int ybins = -1;
576  float ymin = 0.;
577  float ymax = 0.;
578  if (i == 1) {
579  ybins = 23;
580  ymin = -11.5;
581  ymax = 11.5;
582  }
583  if (i == 2) {
584  ybins = 33;
585  ymin = -17.5;
586  ymax = 17.5;
587  }
588  if (i == 3) {
589  ybins = 45;
590  ymin = -24.5;
591  ymax = 24.5;
592  }
593  ss1.str(std::string());
594  ss1 << "position_" + clustersrc_.label() + "_LadvsMod_Layer_" << i;
595  ss2.str(std::string());
596  ss2 << "Clusters Layer" << i << "_LadvsMod (on track)";
597  meClPosLayersLadVsModOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 11, -5.5, 5.5, ybins, ymin, ymax));
598  meClPosLayersLadVsModOnTrack.at(i - 1)->setAxisTitle("z-module", 1);
599  meClPosLayersLadVsModOnTrack.at(i - 1)->setAxisTitle("Ladder", 2);
600  }
601 
602  for (int i = 1; i <= noOfLayers; i++) {
603  int ybins = -1;
604  float ymin = 0.;
605  float ymax = 0.;
606  if (i == 1) {
607  ybins = 42;
608  ymin = -10.5;
609  ymax = 10.5;
610  }
611  if (i == 2) {
612  ybins = 66;
613  ymin = -16.5;
614  ymax = 16.5;
615  }
616  if (i == 3) {
617  ybins = 90;
618  ymin = -22.5;
619  ymax = 22.5;
620  }
621  ss1.str(std::string());
622  ss1 << "pix_bar Occ_roc_ontrack" + digisrc_.label() + "_layer_" << i;
623  ss2.str(std::string());
624  ss2 << "Pixel Barrel Occupancy, ROC level (On Track): Layer " << i;
625  meZeroRocLadvsModOnTrackBarrel.push_back(iBooker.book2D(ss1.str(), ss2.str(), 72, -4.5, 4.5, ybins, ymin, ymax));
626  meZeroRocLadvsModOnTrackBarrel.at(i - 1)->setAxisTitle("ROC / Module", 1);
627  meZeroRocLadvsModOnTrackBarrel.at(i - 1)->setAxisTitle("ROC / Ladder", 2);
628  }
629 
630  for (int i = 1; i <= noOfLayers; i++) {
631  ss1.str(std::string());
632  ss1 << "nclustersvsPhi_" + clustersrc_.label() + "_Layer_" << i;
633  ss2.str(std::string());
634  ss2 << "nclusters (on track, layer" << i << ")";
635  meNofClustersvsPhiOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 1400., -3.5, 3.5));
636  meNofClustersvsPhiOnTrack_layers.at(i - 1)->setAxisTitle("Global #Phi", 1);
637  meNofClustersvsPhiOnTrack_layers.at(i - 1)->setAxisTitle("Number of Clusters/Layer on Track", 2);
638  }
639 
640  // fpix
641  for (int i = 1; i <= noOfDisks; i++) {
642  ss1.str(std::string());
643  ss1 << "position_" + clustersrc_.label() + "_pz_Disk_" << i;
644  ss2.str(std::string());
645  ss2 << "Clusters +Z Disk" << i << " (on track)";
646  meClPosDiskspzOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
647  meClPosDiskspzOnTrack.at(i - 1)->setAxisTitle("Global X (cm)", 1);
648  meClPosDiskspzOnTrack.at(i - 1)->setAxisTitle("Global Y (cm)", 2);
649  }
650  for (int i = 1; i <= noOfDisks; i++) {
651  ss1.str(std::string());
652  ss1 << "position_" + clustersrc_.label() + "_mz_Disk_" << i;
653  ss2.str(std::string());
654  ss2 << "Clusters -Z Disk" << i << " (on track)";
655  meClPosDisksmzOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
656  meClPosDisksmzOnTrack.at(i - 1)->setAxisTitle("Global X (cm)", 1);
657  meClPosDisksmzOnTrack.at(i - 1)->setAxisTitle("Global Y (cm)", 2);
658  }
660  iBooker.book1D("nclusters_" + clustersrc_.label(), "Number of Clusters (on Track)", 50, 0., 50.);
661  meNClustersOnTrack_all->setAxisTitle("Number of Clusters", 1);
663  "nclusters_" + clustersrc_.label() + "_Barrel", "Number of Clusters (on track, barrel)", 50, 0., 50.);
664  meNClustersOnTrack_bpix->setAxisTitle("Number of Clusters", 1);
666  "nclusters_" + clustersrc_.label() + "_Endcap", "Number of Clusters (on track, endcap)", 50, 0., 50.);
667  meNClustersOnTrack_fpix->setAxisTitle("Number of Clusters", 1);
668  for (int i = 1; i <= noOfLayers; i++) {
669  ss1.str(std::string());
670  ss1 << "nclusters_" + clustersrc_.label() + "_Layer_" << i;
671  ss2.str(std::string());
672  ss2 << "Number of Clusters (on track, layer" << i << ")";
673  meNClustersOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
674  meNClustersOnTrack_layers.at(i - 1)->setAxisTitle("Number of Clusters", 1);
675  }
676  for (int i = 1; i <= noOfDisks; i++) {
677  ss1.str(std::string());
678  ss1 << "nclusters_" + clustersrc_.label() + "_Disk_p" << i;
679  ss2.str(std::string());
680  ss2 << "Number of Clusters (on track, diskp" << i << ")";
681  meNClustersOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 50, 0., 50.));
682  meNClustersOnTrack_diskps.at(i - 1)->setAxisTitle("Number of Clusters", 1);
683 
684  ss1.str(std::string());
685  ss1 << "nclustersvsPhi_" + clustersrc_.label() + "_Disk_p" << i;
686  ss2.str(std::string());
687  ss2 << "nclusters (on track, diskp" << i << ")";
688  meNofClustersvsPhiOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 1400., -3.5, 3.5));
689  meNofClustersvsPhiOnTrack_diskps.at(i - 1)->setAxisTitle("Global #Phi", 1);
690  meNofClustersvsPhiOnTrack_diskps.at(i - 1)->setAxisTitle("Number of Clusters/Disk on Track", 2);
691  }
692  for (int i = 1; i <= noOfDisks; i++) {
693  ss1.str(std::string());
694  ss1 << "nclusters_" + clustersrc_.label() + "_Disk_m" << i;
695  ss2.str(std::string());
696  ss2 << "Number of Clusters (on track, diskm" << i << ")";
697  meNClustersOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
698  meNClustersOnTrack_diskms.at(i - 1)->setAxisTitle("Number of Clusters", 1);
699 
700  ss1.str(std::string());
701  ss1 << "nclustersvsPhi_" + clustersrc_.label() + "_Disk_m" << i;
702  ss2.str(std::string());
703  ss2 << "nclusters (on track, diskm" << i << ")";
704  meNofClustersvsPhiOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 1400., -3.5, 3.5));
705  meNofClustersvsPhiOnTrack_diskms.at(i - 1)->setAxisTitle("Global #Phi", 1);
706  meNofClustersvsPhiOnTrack_diskms.at(i - 1)->setAxisTitle("Number of Clusters/Disk on Track", 2);
707  }
708 
710  "ROC_endcap_occupancy_ontrk", "Pixel Endcap Occupancy, ROC level (On Track)", 72, -4.5, 4.5, 288, -12.5, 12.5);
711  meRocBladevsDiskEndcapOnTrk->setBinLabel(1, "Disk-2 Pnl2", 1);
712  meRocBladevsDiskEndcapOnTrk->setBinLabel(9, "Disk-2 Pnl1", 1);
713  meRocBladevsDiskEndcapOnTrk->setBinLabel(19, "Disk-1 Pnl2", 1);
714  meRocBladevsDiskEndcapOnTrk->setBinLabel(27, "Disk-1 Pnl1", 1);
715  meRocBladevsDiskEndcapOnTrk->setBinLabel(41, "Disk+1 Pnl1", 1);
716  meRocBladevsDiskEndcapOnTrk->setBinLabel(49, "Disk+1 Pnl2", 1);
717  meRocBladevsDiskEndcapOnTrk->setBinLabel(59, "Disk+2 Pnl1", 1);
718  meRocBladevsDiskEndcapOnTrk->setBinLabel(67, "Disk+2 Pnl2", 1);
719  meRocBladevsDiskEndcapOnTrk->setAxisTitle("Blades in Inner (>0) / Outer(<) Halves", 2);
720  meRocBladevsDiskEndcapOnTrk->setAxisTitle("ROC occupancy", 3);
721 
722  // not on track
723  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OffTrack");
724  // bpix
725  for (int i = 1; i <= noOfLayers; i++) {
726  ss1.str(std::string());
727  ss1 << "position_" + clustersrc_.label() + "_Layer_" << i;
728  ss2.str(std::string());
729  ss2 << "Clusters Layer" << i << " (off track)";
730  meClPosLayersNotOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 200, -30., 30., 128, -3.2, 3.2));
731  meClPosLayersNotOnTrack.at(i - 1)->setAxisTitle("Global Z (cm)", 1);
732  meClPosLayersNotOnTrack.at(i - 1)->setAxisTitle("Global #phi", 2);
733  }
734  // fpix
735  for (int i = 1; i <= noOfDisks; i++) {
736  ss1.str(std::string());
737  ss1 << "position_" + clustersrc_.label() + "_pz_Disk_" << i;
738  ss2.str(std::string());
739  ss2 << "Clusters +Z Disk" << i << " (off track)";
740  meClPosDiskspzNotOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
741  meClPosDiskspzNotOnTrack.at(i - 1)->setAxisTitle("Global X (cm)", 1);
742  meClPosDiskspzNotOnTrack.at(i - 1)->setAxisTitle("Global Y (cm)", 2);
743  }
744  for (int i = 1; i <= noOfDisks; i++) {
745  ss1.str(std::string());
746  ss1 << "position_" + clustersrc_.label() + "_mz_Disk_" << i;
747  ss2.str(std::string());
748  ss2 << "Clusters -Z Disk" << i << " (off track)";
749  meClPosDisksmzNotOnTrack.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
750  meClPosDisksmzNotOnTrack.at(i - 1)->setAxisTitle("Global X (cm)", 1);
751  meClPosDisksmzNotOnTrack.at(i - 1)->setAxisTitle("Global Y (cm)", 2);
752  }
754  iBooker.book1D("nclusters_" + clustersrc_.label(), "Number of Clusters (off Track)", 50, 0., 50.);
755  meNClustersNotOnTrack_all->setAxisTitle("Number of Clusters", 1);
757  "nclusters_" + clustersrc_.label() + "_Barrel", "Number of Clusters (off track, barrel)", 50, 0., 50.);
758  meNClustersNotOnTrack_bpix->setAxisTitle("Number of Clusters", 1);
760  "nclusters_" + clustersrc_.label() + "_Endcap", "Number of Clusters (off track, endcap)", 50, 0., 50.);
761  meNClustersNotOnTrack_fpix->setAxisTitle("Number of Clusters", 1);
762  for (int i = 1; i <= noOfLayers; i++) {
763  ss1.str(std::string());
764  ss1 << "nclusters_" + clustersrc_.label() + "_Layer_" << i;
765  ss2.str(std::string());
766  ss2 << "Number of Clusters (off track, layer" << i << ")";
767  meNClustersNotOnTrack_layers.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
768  meNClustersNotOnTrack_layers.at(i - 1)->setAxisTitle("Number of Clusters", 1);
769  }
770  for (int i = 1; i <= noOfDisks; i++) {
771  ss1.str(std::string());
772  ss1 << "nclusters_" + clustersrc_.label() + "_Disk_p" << i;
773  ss2.str(std::string());
774  ss2 << "Number of Clusters (off track, diskp" << i << ")";
775  meNClustersNotOnTrack_diskps.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
776  meNClustersNotOnTrack_diskps.at(i - 1)->setAxisTitle("Number of Clusters", 1);
777  }
778  for (int i = 1; i <= noOfDisks; i++) {
779  ss1.str(std::string());
780  ss1 << "nclusters_" + clustersrc_.label() + "_Disk_m" << i;
781  ss2.str(std::string());
782  ss2 << "Number of Clusters (off track, diskm" << i << ")";
783  meNClustersNotOnTrack_diskms.push_back(iBooker.book1D(ss1.str(), ss2.str(), 500, 0., 500.));
784  meNClustersNotOnTrack_diskms.at(i - 1)->setAxisTitle("Number of Clusters", 1);
785  }
786 
788  "ROC_endcap_occupancy_offtrk", "Pixel Endcap Occupancy, ROC level (Off Track)", 72, -4.5, 4.5, 288, -12.5, 12.5);
789  meRocBladevsDiskEndcapOffTrk->setBinLabel(1, "Disk-2 Pnl2", 1);
790  meRocBladevsDiskEndcapOffTrk->setBinLabel(9, "Disk-2 Pnl1", 1);
791  meRocBladevsDiskEndcapOffTrk->setBinLabel(19, "Disk-1 Pnl2", 1);
792  meRocBladevsDiskEndcapOffTrk->setBinLabel(27, "Disk-1 Pnl1", 1);
793  meRocBladevsDiskEndcapOffTrk->setBinLabel(41, "Disk+1 Pnl1", 1);
794  meRocBladevsDiskEndcapOffTrk->setBinLabel(49, "Disk+1 Pnl2", 1);
795  meRocBladevsDiskEndcapOffTrk->setBinLabel(59, "Disk+2 Pnl1", 1);
796  meRocBladevsDiskEndcapOffTrk->setBinLabel(67, "Disk+2 Pnl2", 1);
797  meRocBladevsDiskEndcapOffTrk->setAxisTitle("Blades in Inner (>0) / Outer(<) Halves", 2);
798  meRocBladevsDiskEndcapOffTrk->setAxisTitle("ROC occupancy", 3);
799 
800  // HitProbability
801  // on track
802  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OnTrack");
803  meHitProbability = iBooker.book1D(
804  "FractionLowProb", "Fraction of hits with low probability;FractionLowProb;#HitsOnTrack", 100, 0., 1.);
805 
806  if (debug_) {
807  // book summary residual histograms in a debugging folder - one (x,y) pair
808  // of histograms per subdetector
809  iBooker.setCurrentFolder("debugging");
810  char hisID[80];
811  for (int s = 0; s < 3; s++) {
812  sprintf(hisID, "residual_x_subdet_%i", s);
813  meSubdetResidualX[s] = iBooker.book1D(hisID, "Pixel Hit-to-Track Residual in X", 500, -5., 5.);
814 
815  sprintf(hisID, "residual_y_subdet_%i", s);
816  meSubdetResidualY[s] = iBooker.book1D(hisID, "Pixel Hit-to-Track Residual in Y", 500, -5., 5.);
817  }
818  }
819 
820  firstRun = false;
821 }
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
std::vector< MonitorElement * > meClPosDisksmzNotOnTrack
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::vector< MonitorElement * > meClChargeOnTrack_layers
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeOnTrack_layers
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
std::string const & label() const
Definition: InputTag.h:36
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
std::vector< MonitorElement * > meClPosLayersNotOnTrack
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
std::vector< MonitorElement * > meClPosDisksmzOnTrack
std::vector< MonitorElement * > meClSizeXOnTrack_layers
std::vector< MonitorElement * > meNClustersOnTrack_layers
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
T const * product() const
Definition: ESHandle.h:86
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
std::vector< MonitorElement * > meClChargeOnTrack_diskps
std::vector< MonitorElement * > meNClustersOnTrack_diskms
std::vector< MonitorElement * > meResidualYSummedLay
std::vector< MonitorElement * > meClPosLayersOnTrack
std::vector< MonitorElement * > meClPosDiskspzOnTrack
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
std::vector< MonitorElement * > meClSizeYOnTrack_layers
std::vector< MonitorElement * > meClChargeOnTrack_diskms
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
std::vector< MonitorElement * > meNClustersOnTrack_diskps
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
std::vector< MonitorElement * > meClSizeOnTrack_diskps
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
std::vector< MonitorElement * > meResidualXSummedLay
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeOnTrack_diskms
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

◆ dqmBeginRun()

void SiPixelTrackResidualSource::dqmBeginRun ( const edm::Run r,
edm::EventSetup const &  iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 112 of file SiPixelTrackResidualSource.cc.

References debug_, TrackerGeometry::dets(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), PixelEndcapName::diskName(), edm::EventSetup::getHandle(), isUpgrade, PixelBarrelName::layerName(), callgraph::module, noOfDisks, noOfLayers, edm::ESHandle< T >::product(), theSiPixelStructure, trackerGeomTokenBeginRun_, and trackerTopoTokenBeginRun_.

112  {
113  LogInfo("PixelDQM") << "SiPixelTrackResidualSource beginRun()" << endl;
114  // retrieve TrackerGeometry for pixel dets
116  if (debug_)
117  LogVerbatim("PixelDQM") << "TrackerGeometry " << &(*TG) << " size is " << TG->dets().size() << endl;
118  edm::ESHandle<TrackerTopology> tTopoHandle = iSetup.getHandle(trackerTopoTokenBeginRun_);
119  const TrackerTopology *pTT = tTopoHandle.product();
120 
121  // build theSiPixelStructure with the pixel barrel and endcap dets from
122  // TrackerGeometry
123  for (TrackerGeometry::DetContainer::const_iterator pxb = TG->detsPXB().begin(); pxb != TG->detsPXB().end(); pxb++) {
124  if (dynamic_cast<PixelGeomDetUnit const *>((*pxb)) != nullptr) {
125  SiPixelTrackResidualModule *module = new SiPixelTrackResidualModule((*pxb)->geographicalId().rawId());
126  theSiPixelStructure.insert(
127  pair<uint32_t, SiPixelTrackResidualModule *>((*pxb)->geographicalId().rawId(), module));
128  // int DBlayer = PixelBarrelNameWrapper(pSet_,
129  // DetId((*pxb)->geographicalId())).layerName();
130  int DBlayer = PixelBarrelName(DetId((*pxb)->geographicalId()), pTT, isUpgrade).layerName();
131  if (noOfLayers < DBlayer)
132  noOfLayers = DBlayer;
133  }
134  }
135  for (TrackerGeometry::DetContainer::const_iterator pxf = TG->detsPXF().begin(); pxf != TG->detsPXF().end(); pxf++) {
136  if (dynamic_cast<PixelGeomDetUnit const *>((*pxf)) != nullptr) {
137  SiPixelTrackResidualModule *module = new SiPixelTrackResidualModule((*pxf)->geographicalId().rawId());
138  theSiPixelStructure.insert(
139  pair<uint32_t, SiPixelTrackResidualModule *>((*pxf)->geographicalId().rawId(), module));
140  int DBdisk;
141  DBdisk = PixelEndcapName(DetId((*pxf)->geographicalId()), pTT, isUpgrade).diskName();
142  if (noOfDisks < DBdisk)
143  noOfDisks = DBdisk;
144  }
145  }
146  LogInfo("PixelDQM") << "SiPixelStructure size is " << theSiPixelStructure.size() << endl;
147 }
Log< level::Info, true > LogVerbatim
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
const DetContainer & detsPXB() const
const DetContainer & detsPXF() const
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
T const * product() const
Definition: ESHandle.h:86
int diskName() const
disk id
Log< level::Info, false > LogInfo
Definition: DetId.h:17
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
int layerName() const
layer id

◆ getepixrococcupancyofftrk()

void SiPixelTrackResidualSource::getepixrococcupancyofftrk ( DetId  detId,
const TrackerTopology *const  tTopo,
float  xclust,
float  yclust,
float  z,
MonitorElement meinput 
)
private

Definition at line 1827 of file SiPixelTrackResidualSource.cc.

References funct::abs(), PXFDetId::blade(), hcalRecHitTable_cff::detId, PXFDetId::disk(), dqm::impl::MonitorElement::getBinContent(), mps_fire::i, dqmiolumiharvest::j, PXFDetId::module(), PXFDetId::panel(), dqm::impl::MonitorElement::setBinContent(), and z.

Referenced by analyze().

1828  {
1829  PXFDetId pxfid = PXFDetId(detId);
1830 
1831  // int pxfside = PixelEndcapName(detId,tTopo,isUpgrade).halfCylinder();
1832  int pxfpanel = pxfid.panel();
1833  int pxfmodule = pxfid.module();
1834  int pxfdisk = pxfid.disk();
1835  int pxfblade_off = pxfid.blade();
1836 
1837  if (z < 0.) {
1838  pxfdisk = -1. * pxfdisk;
1839  }
1840 
1841  int pxfblade = -99;
1842  if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1843  pxfblade = 7 - pxfblade_off;
1844  } else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1845  pxfblade = 6 - pxfblade_off;
1846  } else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1847  pxfblade = 31 - pxfblade_off;
1848  }
1849 
1850  int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (abs(pxfdisk) - 1) + pxfpanel);
1851  int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1852  ? (pxfmodule == 1)
1853  : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1854  int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1855  int clu_roc_binx =
1856  ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((abs(pxfdisk) == 1) ? pxfdisk : 0);
1857 
1858  int clu_roc_biny = -99.;
1859  int nrocly = pxfmodule + pxfpanel;
1860  for (int i = 0; i < nrocly; i++) {
1861  int j = (pxfdisk < 0) ? i : nrocly - 1 - i;
1862  if (yclust >= (j * 52.0) && yclust < ((j + 1) * 52.0))
1863  clu_roc_biny = 6 - nrocly + 2 * i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1864  }
1865  if (pxfblade > 0) {
1866  clu_roc_biny = clu_roc_biny + 144;
1867  }
1868 
1869  meinput->setBinContent(clu_roc_binx, clu_roc_biny, meinput->getBinContent(clu_roc_binx, clu_roc_biny) + 1);
1870  meinput->setBinContent(clu_roc_binx, clu_roc_biny + 1, meinput->getBinContent(clu_roc_binx, clu_roc_biny + 1) + 1);
1871 }
unsigned int disk() const
disk id
Definition: PXFDetId.h:35
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
unsigned int module() const
det id
Definition: PXFDetId.h:44
unsigned int blade() const
blade id
Definition: PXFDetId.h:38
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
unsigned int panel() const
panel id
Definition: PXFDetId.h:41
virtual double getBinContent(int binx) const
get content of bin (1-D)

◆ getepixrococcupancyontrk()

void SiPixelTrackResidualSource::getepixrococcupancyontrk ( const TrackerTopology *const  tTopo,
TransientTrackingRecHit::ConstRecHitPointer  hit,
float  xclust,
float  yclust,
float  z,
MonitorElement meinput 
)
private

Definition at line 1773 of file SiPixelTrackResidualSource.cc.

References funct::abs(), dqm::impl::MonitorElement::getBinContent(), mps_fire::i, dqmiolumiharvest::j, TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), dqm::impl::MonitorElement::setBinContent(), and z.

Referenced by analyze().

1778  {
1779  int pxfpanel = tTopo->pxfPanel((*hit).geographicalId());
1780  int pxfmodule = tTopo->pxfModule((*hit).geographicalId());
1781  int pxfdisk = tTopo->pxfDisk((*hit).geographicalId());
1782  int pxfblade_off = tTopo->pxfBlade((*hit).geographicalId());
1783 
1784  // translate to online conventions
1785  // each EPIX disk is split in 2 half-disk - each one consists of 12 blades
1786  // in offline: blades num 0->24; here translate numbering to online convetion
1787  // positive blades pointing to beam; negative pointing away
1788  // each blade has two panels: each consisting of an array of ROC plaquettes
1789  // front (rear) pannel: 3 (4) plaquettes
1790  // number of ROCs in each plaquette depends on the position on the panel
1791  // each ROC has 80x52 pixel cells
1792  if (z < 0.) {
1793  pxfdisk = -1. * pxfdisk;
1794  }
1795  int pxfblade = -99;
1796  if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1797  pxfblade = 7 - pxfblade_off;
1798  } else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1799  pxfblade = 6 - pxfblade_off;
1800  } else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1801  pxfblade = 31 - pxfblade_off;
1802  }
1803 
1804  int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (abs(pxfdisk) - 1) + pxfpanel);
1805  int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1806  ? (pxfmodule == 1)
1807  : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1808  int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1809  int clu_roc_binx =
1810  ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((abs(pxfdisk) == 1) ? pxfdisk : 0);
1811 
1812  int clu_roc_biny = -99.;
1813  int nrocly = pxfmodule + pxfpanel;
1814  for (int i = 0; i < nrocly; i++) {
1815  int j = (pxfdisk < 0) ? i : nrocly - 1 - i;
1816  if (yclust >= (j * 52.0) && yclust < ((j + 1) * 52.0))
1817  clu_roc_biny = 6 - nrocly + 2 * i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1818  }
1819  if (pxfblade > 0) {
1820  clu_roc_biny = clu_roc_biny + 144;
1821  }
1822 
1823  meinput->setBinContent(clu_roc_binx, clu_roc_biny, meinput->getBinContent(clu_roc_binx, clu_roc_biny) + 1);
1824  meinput->setBinContent(clu_roc_binx, clu_roc_biny + 1, meinput->getBinContent(clu_roc_binx, clu_roc_biny + 1) + 1);
1825 }
unsigned int pxfBlade(const DetId &id) const
unsigned int pxfModule(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
unsigned int pxfPanel(const DetId &id) const
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual double getBinContent(int binx) const
get content of bin (1-D)

◆ getrococcupancy()

void SiPixelTrackResidualSource::getrococcupancy ( DetId  detId,
const edm::DetSetVector< PixelDigi > &  diginp,
const TrackerTopology *const  tTopo,
std::vector< MonitorElement *>  meinput 
)

Definition at line 1596 of file SiPixelTrackResidualSource.cc.

References funct::abs(), edm::DetSetVector< T >::begin(), cuy::col, hcalRecHitTable_cff::detId, edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), HLT_2023v12_cff::flip, nano_mu_digi_cff::float, PixelBarrelName::isHalfModule(), isUpgrade, PixelBarrelName::ladderName(), PixelBarrelName::layerName(), PixelBarrelName::moduleName(), and PixelBarrelName::shell().

Referenced by analyze().

1599  {
1601  if (ipxsearch != diginp.end()) {
1602  // Look at digis now
1604  for (pxdi = ipxsearch->begin(); pxdi != ipxsearch->end(); pxdi++) {
1605  bool isHalfModule = PixelBarrelName(DetId(detId), tTopo, isUpgrade).isHalfModule();
1606  int DBlayer = PixelBarrelName(DetId(detId), tTopo, isUpgrade).layerName();
1607  int DBmodule = PixelBarrelName(DetId(detId), tTopo, isUpgrade).moduleName();
1608  int DBladder = PixelBarrelName(DetId(detId), tTopo, isUpgrade).ladderName();
1609  int DBshell = PixelBarrelName(DetId(detId), tTopo, isUpgrade).shell();
1610 
1611  // add sign to the modules
1612  if (DBshell == 1 || DBshell == 2) {
1613  DBmodule = -DBmodule;
1614  }
1615  if (DBshell == 1 || DBshell == 3) {
1616  DBladder = -DBladder;
1617  }
1618 
1619  int col = pxdi->column();
1620  int row = pxdi->row();
1621 
1622  float modsign = (float)DBmodule / (abs((float)DBmodule));
1623  float ladsign = (float)DBladder / (abs((float)DBladder));
1624  float rocx = ((float)col / (52. * 8.)) * modsign + ((float)DBmodule - (modsign)*0.5);
1625  float rocy = ((float)row / (80. * 2.)) * ladsign + ((float)DBladder - (ladsign)*0.5);
1626 
1627  // do the flip where need
1628  bool flip = false;
1629  if ((DBladder % 2 == 0) && (!isHalfModule)) {
1630  flip = true;
1631  }
1632  if ((flip) && (DBladder > 0)) {
1633  if ((((float)DBladder - (ladsign)*0.5) <= rocy) && (rocy < (float)DBladder)) {
1634  rocy = rocy + ladsign * 0.5;
1635  } else if ((((float)DBladder) <= rocy) && (rocy < ((float)DBladder + (ladsign)*0.5))) {
1636  rocy = rocy - ladsign * 0.5;
1637  }
1638  }
1639 
1640  // tweak border effect for negative modules/ladders
1641  if (modsign < 0) {
1642  rocx = rocx - 0.0001;
1643  }
1644  if (ladsign < 0) {
1645  rocy = rocy - 0.0001;
1646  } else {
1647  rocy = rocy + 0.0001;
1648  }
1649  if (abs(DBladder) == 1) {
1650  rocy = rocy + ladsign * 0.5;
1651  } // take care of the half module
1652 
1653  if (DBlayer == 1) {
1654  meinput.at(0)->Fill(rocx, rocy);
1655  }
1656  if (DBlayer == 2) {
1657  meinput.at(1)->Fill(rocx, rocy);
1658  }
1659  if (DBlayer == 3) {
1660  meinput.at(2)->Fill(rocx, rocy);
1661  }
1662  } // end of looping over pxdi
1663  }
1664 }
iterator find(det_id_type id)
Definition: DetSetVector.h:255
int moduleName() const
module id (index in z)
bool isHalfModule() const
full or half module
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:316
Shell shell() const
Definition: DetId.h:17
int layerName() const
layer id
col
Definition: cuy.py:1009
int ladderName() const
ladder id (index in phi)
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:305
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102

◆ triplets()

void SiPixelTrackResidualSource::triplets ( double  x1,
double  y1,
double  z1,
double  x2,
double  y2,
double  z2,
double  x3,
double  y3,
double  z3,
double  ptsig,
double &  dc,
double &  dz,
double  kap 
)

Definition at line 1666 of file SiPixelTrackResidualSource.cc.

References gather_cfg::cout, dttmaxenums::L, EgammaValidation_cff::num, diffTwoXMLs::r1, rho, mathSSE::sqrt(), testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, geometryCSVtoXML::xx, testProducerWithPsetDescEmpty_cfi::y1, testProducerWithPsetDescEmpty_cfi::y2, geometryCSVtoXML::yy, and testProducerWithPsetDescEmpty_cfi::z2.

Referenced by analyze().

1678  {
1679  // Define some constants
1680  using namespace std;
1681 
1682  // Curvature kap from global Track
1683 
1684  // inverse of the curvature is the radius in the transverse plane
1685  double rho = 1 / kap;
1686  // Check that the hits are in the correct layers
1687  double r1 = sqrt(x1 * x1 + y1 * y1);
1688  double r3 = sqrt(x3 * x3 + y3 * y3);
1689 
1690  if (r3 - r1 < 2.0)
1691  cout << "warn r1 = " << r1 << ", r3 = " << r3 << endl;
1692 
1693  // Calculate the centre of the helix in xy-projection with radius rho from the
1694  // track.
1695  // start with a line (sekante) connecting the two points (x1,y1) and (x3,y3)
1696  // vec_L = vec_x3-vec_x1 with L being the length of that vector.
1697  double L = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1));
1698  // lam is the line from the middel point of vec_q towards the center of the
1699  // circle X0,Y0
1700  // we already have kap and rho = 1/kap
1701  double lam = sqrt(rho * rho - L * L / 4);
1702 
1703  // There are two solutions, the sign of kap gives the information
1704  // which of them is correct.
1705  //
1706  if (kap > 0)
1707  lam = -lam;
1708 
1709  //
1710  // ( X0, Y0 ) is the centre of the circle that describes the helix in
1711  // xy-projection.
1712  //
1713  double x0 = 0.5 * (x1 + x3) + lam / L * (-y1 + y3);
1714  double y0 = 0.5 * (y1 + y3) + lam / L * (x1 - x3);
1715 
1716  // Calculate the dipangle in z direction (needed later for z residual) :
1717  // Starting from the heliz equation whihc has to hold for both points z1,z3
1718  double num = (y3 - y0) * (x1 - x0) - (x3 - x0) * (y1 - y0);
1719  double den = (x1 - x0) * (x3 - x0) + (y1 - y0) * (y3 - y0);
1720  double tandip = kap * (z3 - z1) / atan(num / den);
1721 
1722  // angle from first hit to dca point:
1723  //
1724  double dphi = atan(((x1 - x0) * y0 - (y1 - y0) * x0) / ((x1 - x0) * x0 + (y1 - y0) * y0));
1725  // z position of the track based on the middle of the circle
1726  // track equation for the z component
1727  double uz0 = z1 + tandip * dphi * rho;
1728 
1730  // RESIDUAL IN R-PHI
1732  // Calculate distance dca2 from point (x2,y2) to the circle which is given by
1733  // the distance of the point to the middlepoint dcM = sqrt((x0-x2)^2+(y0-y2))
1734  // and rho dca = rho +- dcM
1735  if (kap > 0)
1736  dca2 = rho - sqrt((x0 - x2) * (x0 - x2) + (y0 - y2) * (y0 - y2));
1737  else
1738  dca2 = rho + sqrt((-x0 + x2) * (-x0 + x2) + (-y0 + y2) * (-y0 + y2));
1739 
1741  // RESIDUAL IN Z
1743  double xx = 0;
1744  double yy = 0;
1745  // sign of kappa determines the calculation
1746  // xx and yy are the new coordinates starting from x2, y2 that are on the
1747  // track itself vec_X2+-dca2*vec(X0-X2)/|(X0-X2)|
1748  if (kap < 0) {
1749  xx = x2 + (dca2 * ((x0 - x2)) / sqrt((x0 - x2) * (x0 - x2) + (y0 - y2) * (y0 - y2)));
1750  yy = y2 + (dca2 * ((y0 - y2)) / sqrt((x0 - x2) * (x0 - x2) + (y0 - y2) * (y0 - y2)));
1751  } else if (kap >= 0) {
1752  xx = x2 - (dca2 * ((x0 - x2)) / sqrt((x0 - x2) * (x0 - x2) + (y0 - y2) * (y0 - y2)));
1753  yy = y2 - (dca2 * ((y0 - y2)) / sqrt((x0 - x2) * (x0 - x2) + (y0 - y2) * (y0 - y2)));
1754  }
1755 
1756  // to get residual in z start with calculating the new uz2 position if one has
1757  // moved to xx, yy on the track. First calculate the change in phi2 with
1758  // respect to the center X0, Y0
1759  double dphi2 = atan(((xx - x0) * y0 - (yy - y0) * x0) / ((xx - x0) * x0 + (yy - y0) * y0));
1760  // Solve track equation for this new z depending on the dip angle of the track
1761  // (see above calculated based on X1, X3 and X0, use uz0 as reference point
1762  // again.
1763  double uz2 = uz0 - dphi2 * tandip * rho;
1764 
1765  // subtract new z position from the old one
1766  dz2 = z2 - uz2;
1767 
1768  // if we are interested in the arclength this is unsigned though
1769  // double cosphi2 = (x2*xx+y2*yy)/(sqrt(x2*x2+y2*y2)*sqrt(xx*xx+yy*yy));
1770  // double arcdca2=sqrt(x2*x2+y2*y2)*acos(cosphi2);
1771 }
T sqrt(T t)
Definition: SSEVec.h:19

Member Data Documentation

◆ beamSpotToken_

edm::EDGetTokenT<reco::BeamSpot> SiPixelTrackResidualSource::beamSpotToken_
private

Definition at line 80 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ bladeOn

bool SiPixelTrackResidualSource::bladeOn
private

◆ clustersrc_

edm::InputTag SiPixelTrackResidualSource::clustersrc_
private

Definition at line 77 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ clustersrcToken_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > SiPixelTrackResidualSource::clustersrcToken_
private

Definition at line 86 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ debug_

bool SiPixelTrackResidualSource::debug_
private

◆ digisrc_

edm::InputTag SiPixelTrackResidualSource::digisrc_
private

Definition at line 88 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ digisrcToken_

edm::EDGetTokenT<edm::DetSetVector<PixelDigi> > SiPixelTrackResidualSource::digisrcToken_
private

Definition at line 89 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ diskOn

bool SiPixelTrackResidualSource::diskOn
private

◆ firstRun

bool SiPixelTrackResidualSource::firstRun
private

Definition at line 107 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ generalTracksToken_

edm::EDGetTokenT<reco::TrackCollection> SiPixelTrackResidualSource::generalTracksToken_
private

Definition at line 82 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ isUpgrade

bool SiPixelTrackResidualSource::isUpgrade
private

◆ ladOn

bool SiPixelTrackResidualSource::ladOn
private

◆ layOn

bool SiPixelTrackResidualSource::layOn
private

◆ meClChargeNotOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_all
private

Definition at line 132 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeNotOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_bpix
private

Definition at line 133 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeNotOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeNotOnTrack_diskms
private

Definition at line 137 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeNotOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeNotOnTrack_diskps
private

Definition at line 136 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeNotOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_fpix
private

Definition at line 134 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeNotOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeNotOnTrack_layers
private

Definition at line 135 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_all
private

Definition at line 126 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_bpix
private

Definition at line 127 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeOnTrack_diskms
private

Definition at line 131 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeOnTrack_diskps
private

Definition at line 130 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_fpix
private

Definition at line 128 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClChargeOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClChargeOnTrack_layers
private

Definition at line 129 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosDisksmzNotOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosDisksmzNotOnTrack
private

Definition at line 196 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosDisksmzOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosDisksmzOnTrack
private

Definition at line 194 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosDiskspzNotOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosDiskspzNotOnTrack
private

Definition at line 195 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosDiskspzOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosDiskspzOnTrack
private

Definition at line 193 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosLayersLadVsModOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosLayersLadVsModOnTrack
private

Definition at line 191 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosLayersNotOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosLayersNotOnTrack
private

Definition at line 192 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClPosLayersOnTrack

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClPosLayersOnTrack
private

Definition at line 190 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_all
private

Definition at line 144 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_bpix
private

Definition at line 145 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeNotOnTrack_diskms
private

Definition at line 149 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeNotOnTrack_diskps
private

Definition at line 148 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_fpix
private

Definition at line 146 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeNotOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeNotOnTrack_layers
private

Definition at line 147 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_all
private

Definition at line 138 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_bpix
private

Definition at line 139 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeOnTrack_diskms
private

Definition at line 143 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeOnTrack_diskps
private

Definition at line 142 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_fpix
private

Definition at line 140 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeOnTrack_layers
private

Definition at line 141 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_all
private

Definition at line 156 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_bpix
private

Definition at line 157 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskms
private

Definition at line 161 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskps
private

Definition at line 160 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_fpix
private

Definition at line 158 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXNotOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXNotOnTrack_layers
private

Definition at line 159 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_all
private

Definition at line 150 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_bpix
private

Definition at line 151 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXOnTrack_diskms
private

Definition at line 155 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXOnTrack_diskps
private

Definition at line 154 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_fpix
private

Definition at line 152 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeXOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeXOnTrack_layers
private

Definition at line 153 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_all
private

Definition at line 168 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_bpix
private

Definition at line 169 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskms
private

Definition at line 173 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskps
private

Definition at line 172 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_fpix
private

Definition at line 170 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYNotOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYNotOnTrack_layers
private

Definition at line 171 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_all
private

Definition at line 162 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_bpix
private

Definition at line 163 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYOnTrack_diskms
private

Definition at line 167 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYOnTrack_diskps
private

Definition at line 166 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_fpix
private

Definition at line 164 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meClSizeYOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meClSizeYOnTrack_layers
private

Definition at line 165 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meHitProbability

MonitorElement* SiPixelTrackResidualSource::meHitProbability
private

Definition at line 201 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_all
private

Definition at line 182 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_bpix
private

Definition at line 183 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersNotOnTrack_diskms
private

Definition at line 187 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersNotOnTrack_diskps
private

Definition at line 186 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_fpix
private

Definition at line 184 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersNotOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersNotOnTrack_layers
private

Definition at line 185 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_all

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_all
private

Definition at line 176 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_bpix

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_bpix
private

Definition at line 177 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersOnTrack_diskms
private

Definition at line 181 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersOnTrack_diskps
private

Definition at line 180 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_fpix

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_fpix
private

Definition at line 178 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNClustersOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNClustersOnTrack_layers
private

Definition at line 179 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofClustersNotOnTrack_

MonitorElement* SiPixelTrackResidualSource::meNofClustersNotOnTrack_
private

Definition at line 125 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofClustersOnTrack_

MonitorElement* SiPixelTrackResidualSource::meNofClustersOnTrack_
private

Definition at line 121 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofClustersvsPhiOnTrack_diskms

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNofClustersvsPhiOnTrack_diskms
private

Definition at line 124 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofClustersvsPhiOnTrack_diskps

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNofClustersvsPhiOnTrack_diskps
private

Definition at line 123 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofClustersvsPhiOnTrack_layers

std::vector<MonitorElement *> SiPixelTrackResidualSource::meNofClustersvsPhiOnTrack_layers
private

Definition at line 122 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofTracks_

MonitorElement* SiPixelTrackResidualSource::meNofTracks_
private

Definition at line 119 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meNofTracksInPixVol_

MonitorElement* SiPixelTrackResidualSource::meNofTracksInPixVol_
private

Definition at line 120 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meResidualXSummedLay

std::vector<MonitorElement *> SiPixelTrackResidualSource::meResidualXSummedLay
private

Definition at line 116 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meResidualYSummedLay

std::vector<MonitorElement *> SiPixelTrackResidualSource::meResidualYSummedLay
private

Definition at line 117 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meRocBladevsDiskEndcapOffTrk

MonitorElement* SiPixelTrackResidualSource::meRocBladevsDiskEndcapOffTrk
private

Definition at line 203 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meRocBladevsDiskEndcapOnTrk

MonitorElement* SiPixelTrackResidualSource::meRocBladevsDiskEndcapOnTrk
private

Definition at line 202 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meSubdetResidualX

MonitorElement* SiPixelTrackResidualSource::meSubdetResidualX[3]
private

Definition at line 113 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms().

◆ meSubdetResidualY

MonitorElement* SiPixelTrackResidualSource::meSubdetResidualY[3]
private

Definition at line 114 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms().

◆ meZeroRocLadvsModOffTrackBarrel

std::vector<MonitorElement *> SiPixelTrackResidualSource::meZeroRocLadvsModOffTrackBarrel
private

Definition at line 199 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ meZeroRocLadvsModOnTrackBarrel

std::vector<MonitorElement *> SiPixelTrackResidualSource::meZeroRocLadvsModOnTrackBarrel
private

Definition at line 198 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ modOn

bool SiPixelTrackResidualSource::modOn
private

◆ NLowProb

int SiPixelTrackResidualSource::NLowProb
private

Definition at line 109 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ noOfDisks

int SiPixelTrackResidualSource::noOfDisks
private

Definition at line 215 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

◆ noOfLayers

int SiPixelTrackResidualSource::noOfLayers
private

Definition at line 214 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

◆ NTotal

int SiPixelTrackResidualSource::NTotal
private

Definition at line 108 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ offlinePrimaryVerticesToken_

edm::EDGetTokenT<reco::VertexCollection> SiPixelTrackResidualSource::offlinePrimaryVerticesToken_
private

Definition at line 81 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ phiOn

bool SiPixelTrackResidualSource::phiOn
private

◆ pSet_

edm::ParameterSet SiPixelTrackResidualSource::pSet_
private

Definition at line 75 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ ptminres_

double SiPixelTrackResidualSource::ptminres_
private

Definition at line 106 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ reducedSet

bool SiPixelTrackResidualSource::reducedSet
private

Definition at line 100 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and bookHistograms().

◆ ringOn

bool SiPixelTrackResidualSource::ringOn
private

◆ src_

edm::InputTag SiPixelTrackResidualSource::src_
private

Definition at line 76 of file SiPixelTrackResidualSource.h.

Referenced by SiPixelTrackResidualSource().

◆ theSiPixelStructure

std::map<uint32_t, SiPixelTrackResidualModule *> SiPixelTrackResidualSource::theSiPixelStructure
private

◆ topFolderName_

std::string SiPixelTrackResidualSource::topFolderName_

Definition at line 72 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ trackAssociationToken_

edm::EDGetTokenT<TrajTrackAssociationCollection> SiPixelTrackResidualSource::trackAssociationToken_
private

Definition at line 85 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ trackerGeomToken_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiPixelTrackResidualSource::trackerGeomToken_
private

Definition at line 92 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ trackerGeomTokenBeginRun_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiPixelTrackResidualSource::trackerGeomTokenBeginRun_
private

Definition at line 96 of file SiPixelTrackResidualSource.h.

Referenced by dqmBeginRun(), and SiPixelTrackResidualSource().

◆ trackerTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiPixelTrackResidualSource::trackerTopoToken_
private

Definition at line 91 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ trackerTopoTokenBeginRun_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiPixelTrackResidualSource::trackerTopoTokenBeginRun_
private

◆ tracksrc_

edm::InputTag SiPixelTrackResidualSource::tracksrc_
private

Definition at line 78 of file SiPixelTrackResidualSource.h.

Referenced by bookHistograms(), and SiPixelTrackResidualSource().

◆ tracksrcToken_

edm::EDGetTokenT<std::vector<Trajectory> > SiPixelTrackResidualSource::tracksrcToken_
private

Definition at line 83 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ trackToken_

edm::EDGetTokenT<std::vector<reco::Track> > SiPixelTrackResidualSource::trackToken_
private

Definition at line 84 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ transientTrackBuilderToken_

edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> SiPixelTrackResidualSource::transientTrackBuilderToken_
private

Definition at line 93 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ transientTrackingRecHitBuilderToken_

edm::ESGetToken<TransientTrackingRecHitBuilder, TransientRecHitRecord> SiPixelTrackResidualSource::transientTrackingRecHitBuilderToken_
private

Definition at line 94 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and SiPixelTrackResidualSource().

◆ ttrhbuilder_

std::string SiPixelTrackResidualSource::ttrhbuilder_
private

Definition at line 79 of file SiPixelTrackResidualSource.h.

Referenced by SiPixelTrackResidualSource().

◆ vtxsrc_

std::string SiPixelTrackResidualSource::vtxsrc_
private

Definition at line 87 of file SiPixelTrackResidualSource.h.

Referenced by SiPixelTrackResidualSource().