CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
SiPixelMonitorTrackSoA< T > Class Template Reference

#include <SiPixelMonitorTrackSoA.cc>

Inheritance diagram for SiPixelMonitorTrackSoA< T >:

Public Types

using PixelTrackHeterogeneous = TrackSoAHeterogeneousHost< T >
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
void bookHistograms (DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
 
 SiPixelMonitorTrackSoA (const edm::ParameterSet &)
 
 ~SiPixelMonitorTrackSoA () override=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

MonitorElementhchi2
 
MonitorElementhChi2VsEta
 
MonitorElementhChi2VsPhi
 
MonitorElementhCurvature
 
MonitorElementheta
 
MonitorElementhnHits
 
MonitorElementhnHitsVsEta
 
MonitorElementhnHitsVsPhi
 
MonitorElementhnLayers
 
MonitorElementhnLayersVsEta
 
MonitorElementhnLayersVsPhi
 
MonitorElementhnLooseAndAboveTracks
 
MonitorElementhnTracks
 
MonitorElementhphi
 
MonitorElementhpt
 
MonitorElementhquality
 
MonitorElementhtip
 
MonitorElementhz
 
pixelTrack::Quality minQuality_
 
edm::EDGetTokenT< PixelTrackHeterogeneoustokenSoATrack_
 
std::string topFolderName_
 
bool useQualityCut_
 

Detailed Description

template<typename T>
class SiPixelMonitorTrackSoA< T >

Definition at line 29 of file SiPixelMonitorTrackSoA.cc.

Member Typedef Documentation

◆ PixelTrackHeterogeneous

Definition at line 31 of file SiPixelMonitorTrackSoA.cc.

Constructor & Destructor Documentation

◆ SiPixelMonitorTrackSoA()

template<typename T >
SiPixelMonitorTrackSoA< T >::SiPixelMonitorTrackSoA ( const edm::ParameterSet iConfig)
explicit

Definition at line 68 of file SiPixelMonitorTrackSoA.cc.

References edm::ParameterSet::getParameter(), pixelTrack::qualityByName(), and AlCaHLTBitMon_QueryRunRegistry::string.

68  {
69  tokenSoATrack_ = consumes<PixelTrackHeterogeneous>(iConfig.getParameter<edm::InputTag>("pixelTrackSrc"));
70  topFolderName_ = iConfig.getParameter<std::string>("topFolderName"); //"SiPixelHeterogeneous/PixelTrackSoA";
71  useQualityCut_ = iConfig.getParameter<bool>("useQualityCut");
73 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
pixelTrack::Quality minQuality_
Quality qualityByName(std::string const &name)
edm::EDGetTokenT< PixelTrackHeterogeneous > tokenSoATrack_

◆ ~SiPixelMonitorTrackSoA()

template<typename T >
SiPixelMonitorTrackSoA< T >::~SiPixelMonitorTrackSoA ( )
overridedefault

Member Function Documentation

◆ analyze()

template<typename T >
void SiPixelMonitorTrackSoA< T >::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 79 of file SiPixelMonitorTrackSoA.cc.

References ALCARECOTkAlJpsiMuMu_cff::charge, nano_mu_local_reco_cff::chi2, PVValHelper::eta, iEvent, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, DMR_cfg::maxTracks, nHits, MuonTCMETValueMapProducer_cff::nLayers, beamSpotPI::nTracks, PVValHelper::phi, DiDispStaMuonMonitor_cfi::pt, quality, qcdUeDQM_cfi::tip, and reco::zip().

79  {
80  const auto& tsoaHandle = iEvent.getHandle(tokenSoATrack_);
81  if (!tsoaHandle.isValid()) {
82  edm::LogWarning("SiPixelMonitorTrackSoA") << "No Track SoA found \n returning!" << std::endl;
83  return;
84  }
85 
86  using helper = TracksUtilities<T>;
87  auto const& tsoa = *tsoaHandle.product();
88  auto maxTracks = tsoa.view().metadata().size();
89  auto const* quality = tsoa.view().quality();
90  int32_t nTracks = 0;
91  int32_t nLooseAndAboveTracks = 0;
92 
93  for (int32_t it = 0; it < maxTracks; ++it) {
94  auto nHits = helper::nHits(tsoa.const_view(), it);
95  auto nLayers = tsoa.view()[it].nLayers();
96  if (nHits == 0)
97  break; // this is a guard
98  float pt = tsoa.view()[it].pt();
99  if (!(pt > 0.))
100  continue;
101 
102  // fill the quality for all tracks
104  hquality->Fill(int(qual));
105  nTracks++;
106 
108  continue;
109 
110  // fill parameters only for quality >= loose
111  float chi2 = tsoa.view()[it].chi2();
112  float phi = helper::phi(tsoa.const_view(), it);
113  float zip = helper::zip(tsoa.const_view(), it);
114  float eta = tsoa.view()[it].eta();
115  float tip = helper::tip(tsoa.const_view(), it);
116  auto charge = helper::charge(tsoa.const_view(), it);
117 
118  hchi2->Fill(chi2);
119  hChi2VsPhi->Fill(phi, chi2);
120  hChi2VsEta->Fill(eta, chi2);
121  hnHits->Fill(nHits);
127  hpt->Fill(pt);
128  hCurvature->Fill(charge / pt);
129  heta->Fill(eta);
130  hphi->Fill(phi);
131  hz->Fill(zip);
132  htip->Fill(tip);
133  nLooseAndAboveTracks++;
134  }
136  hnLooseAndAboveTracks->Fill(nLooseAndAboveTracks);
137 }
Definition: helper.py:1
pixelTrack::Quality minQuality_
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float zip(ConstView const &tracks, int32_t i)
Definition: TracksSoA.h:90
edm::EDGetTokenT< PixelTrackHeterogeneous > tokenSoATrack_
void Fill(long long x)
string quality
int iEvent
Definition: GenABIO.cc:224
maxTracks
Definition: DMR_cfg.py:158
MonitorElement * hnLooseAndAboveTracks
Log< level::Warning, false > LogWarning
TupleMultiplicity< TrackerTraits > const *__restrict__ uint32_t nHits

◆ bookHistograms()

template<typename T >
void SiPixelMonitorTrackSoA< T >::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
override

Definition at line 143 of file SiPixelMonitorTrackSoA.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::NavigatorBase::cd(), mps_fire::i, M_PI, submitPVResolutionJobs::q, pixelTrack::qualityName, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and parallelization::uint.

145  {
146  iBook.cd();
147  iBook.setCurrentFolder(topFolderName_);
148 
149  // clang-format off
150  std::string toRep = "Number of tracks";
151  hnTracks = iBook.book1D("nTracks", fmt::sprintf(";%s per event;#events",toRep), 1001, -0.5, 2001.5);
152  hnLooseAndAboveTracks = iBook.book1D("nLooseAndAboveTracks", fmt::sprintf(";%s (quality #geq loose) per event;#events",toRep), 1001, -0.5, 2001.5);
153 
154  toRep = "Number of all RecHits per track (quality #geq loose)";
155  hnHits = iBook.book1D("nRecHits", fmt::sprintf(";%s;#tracks",toRep), 15, -0.5, 14.5);
156  hnHitsVsPhi = iBook.bookProfile("nHitsPerTrackVsPhi", fmt::sprintf("%s vs track #phi;Track #phi;%s",toRep,toRep), 30, -M_PI, M_PI,0., 15.);
157  hnHitsVsEta = iBook.bookProfile("nHitsPerTrackVsEta", fmt::sprintf("%s vs track #eta;Track #eta;%s",toRep,toRep), 30, -3., 3., 0., 15.);
158 
159  toRep = "Number of all layers per track (quality #geq loose)";
160  hnLayers = iBook.book1D("nLayers", fmt::sprintf(";%s;#tracks",toRep), 15, -0.5, 14.5);
161  hnLayersVsPhi = iBook.bookProfile("nLayersPerTrackVsPhi", fmt::sprintf("%s vs track #phi;Track #phi;%s",toRep,toRep), 30, -M_PI, M_PI,0., 15.);
162  hnLayersVsEta = iBook.bookProfile("nLayersPerTrackVsEta", fmt::sprintf("%s vs track #eta;Track #eta;%s",toRep,toRep), 30, -3., 3., 0., 15.);
163 
164  toRep = "Track (quality #geq loose) #chi^{2}/ndof";
165  hchi2 = iBook.book1D("nChi2ndof", fmt::sprintf(";%s;#tracks",toRep), 40, 0., 20.);
166  hChi2VsPhi = iBook.bookProfile("nChi2ndofVsPhi", fmt::sprintf("%s vs track #phi;Track #phi;%s",toRep,toRep), 30, -M_PI, M_PI, 0., 20.);
167  hChi2VsEta = iBook.bookProfile("nChi2ndofVsEta", fmt::sprintf("%s vs track #eta;Track #eta;%s",toRep,toRep), 30, -3., 3., 0., 20.);
168  // clang-format on
169 
170  hpt = iBook.book1D("pt", ";Track (quality #geq loose) p_{T} [GeV];#tracks", 200, 0., 200.);
171  hCurvature = iBook.book1D("curvature", ";Track (quality #geq loose) q/p_{T} [GeV^{-1}];#tracks", 100, -3., 3.);
172  heta = iBook.book1D("eta", ";Track (quality #geq loose) #eta;#tracks", 30, -3., 3.);
173  hphi = iBook.book1D("phi", ";Track (quality #geq loose) #phi;#tracks", 30, -M_PI, M_PI);
174  hz = iBook.book1D("z", ";Track (quality #geq loose) z [cm];#tracks", 30, -30., 30.);
175  htip = iBook.book1D("tip", ";Track (quality #geq loose) TIP [cm];#tracks", 100, -0.5, 0.5);
176  hquality = iBook.book1D("quality", ";Track Quality;#tracks", 7, -0.5, 6.5);
177  uint i = 1;
178  for (const auto& q : pixelTrack::qualityName) {
179  hquality->setBinLabel(i, q, 1);
180  i++;
181  }
182 }
const std::string qualityName[qualitySize]
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)
#define M_PI
MonitorElement * hnLooseAndAboveTracks

◆ fillDescriptions()

template<typename T >
void SiPixelMonitorTrackSoA< T >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 185 of file SiPixelMonitorTrackSoA.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

185  {
186  // monitorpixelTrackSoA
188  desc.add<edm::InputTag>("pixelTrackSrc", edm::InputTag("pixelTracksSoA"));
189  desc.add<std::string>("topFolderName", "SiPixelHeterogeneous/PixelTrackSoA");
190  desc.add<bool>("useQualityCut", true);
191  desc.add<std::string>("minQuality", "loose");
192  descriptions.addWithDefaultLabel(desc);
193 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ hchi2

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hchi2
private

Definition at line 51 of file SiPixelMonitorTrackSoA.cc.

◆ hChi2VsEta

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hChi2VsEta
private

Definition at line 53 of file SiPixelMonitorTrackSoA.cc.

◆ hChi2VsPhi

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hChi2VsPhi
private

Definition at line 52 of file SiPixelMonitorTrackSoA.cc.

◆ hCurvature

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hCurvature
private

Definition at line 55 of file SiPixelMonitorTrackSoA.cc.

◆ heta

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::heta
private

Definition at line 56 of file SiPixelMonitorTrackSoA.cc.

◆ hnHits

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnHits
private

Definition at line 45 of file SiPixelMonitorTrackSoA.cc.

◆ hnHitsVsEta

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnHitsVsEta
private

Definition at line 47 of file SiPixelMonitorTrackSoA.cc.

◆ hnHitsVsPhi

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnHitsVsPhi
private

Definition at line 46 of file SiPixelMonitorTrackSoA.cc.

◆ hnLayers

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnLayers
private

Definition at line 48 of file SiPixelMonitorTrackSoA.cc.

◆ hnLayersVsEta

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnLayersVsEta
private

Definition at line 50 of file SiPixelMonitorTrackSoA.cc.

◆ hnLayersVsPhi

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnLayersVsPhi
private

Definition at line 49 of file SiPixelMonitorTrackSoA.cc.

◆ hnLooseAndAboveTracks

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnLooseAndAboveTracks
private

Definition at line 44 of file SiPixelMonitorTrackSoA.cc.

◆ hnTracks

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hnTracks
private

Definition at line 43 of file SiPixelMonitorTrackSoA.cc.

◆ hphi

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hphi
private

Definition at line 57 of file SiPixelMonitorTrackSoA.cc.

◆ hpt

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hpt
private

Definition at line 54 of file SiPixelMonitorTrackSoA.cc.

◆ hquality

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hquality
private

Definition at line 60 of file SiPixelMonitorTrackSoA.cc.

◆ htip

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::htip
private

Definition at line 59 of file SiPixelMonitorTrackSoA.cc.

◆ hz

template<typename T >
MonitorElement* SiPixelMonitorTrackSoA< T >::hz
private

Definition at line 58 of file SiPixelMonitorTrackSoA.cc.

◆ minQuality_

template<typename T >
pixelTrack::Quality SiPixelMonitorTrackSoA< T >::minQuality_
private

Definition at line 42 of file SiPixelMonitorTrackSoA.cc.

◆ tokenSoATrack_

template<typename T >
edm::EDGetTokenT<PixelTrackHeterogeneous> SiPixelMonitorTrackSoA< T >::tokenSoATrack_
private

Definition at line 39 of file SiPixelMonitorTrackSoA.cc.

◆ topFolderName_

template<typename T >
std::string SiPixelMonitorTrackSoA< T >::topFolderName_
private

Definition at line 40 of file SiPixelMonitorTrackSoA.cc.

◆ useQualityCut_

template<typename T >
bool SiPixelMonitorTrackSoA< T >::useQualityCut_
private

Definition at line 41 of file SiPixelMonitorTrackSoA.cc.