43 #define COUT(x) std::cout << x << ' ' 45 #define COUT(x) LogDebug(x) 53 : confID_ ( iConfig.
id() )
56 , NumberOfMeanRecHitsPerTrack(
nullptr)
57 , NumberOfMeanLayersPerTrack(
nullptr)
60 , NumberOfTrackingRegions(
nullptr)
62 , NumberOfSeeds_lumiFlag(
nullptr)
63 , NumberOfTrackCandidates(
nullptr)
64 , FractionCandidatesOverSeeds(
nullptr)
69 , GoodTracksFractionVsLS(
nullptr)
74 , NumberOfGoodPVtxWO0VsLS(
nullptr)
77 , GoodTracksFractionVsBX(
nullptr)
78 , NumberOfRecHitsPerTrackVsBX(
nullptr)
80 , NumberOfGoodPVtxWO0VsBX(
nullptr)
81 , NumberOfTracksVsBXlumi(
nullptr)
82 , NumberOfTracksVsGoodPVtx(
nullptr)
83 , NumberOfTracksVsPUPVtx(
nullptr)
84 , NumberEventsOfVsGoodPVtx(
nullptr)
85 , GoodTracksFractionVsGoodPVtx(
nullptr)
86 , NumberOfRecHitsPerTrackVsGoodPVtx(
nullptr)
87 , NumberOfPVtxVsGoodPVtx(
nullptr)
88 , NumberOfPixelClustersVsGoodPVtx(
nullptr)
89 , NumberOfStripClustersVsGoodPVtx(
nullptr)
92 , GoodTracksFractionVsLUMI(
nullptr)
93 , NumberOfRecHitsPerTrackVsLUMI(
nullptr)
94 , NumberOfGoodPVtxVsLUMI(
nullptr)
95 , NumberOfGoodPVtxWO0VsLUMI(
nullptr)
96 , NumberOfPixelClustersVsLUMI(
nullptr)
97 , NumberOfStripClustersVsLUMI(
nullptr)
98 , NumberOfTracks_lumiFlag(
nullptr)
101 , builderName ( iConfig.getParameter<
std::
string>(
"TTRHBuilder"))
102 , doTrackerSpecific_ ( iConfig.getParameter<
bool>(
"doTrackerSpecific") )
103 , doLumiAnalysis ( iConfig.getParameter<
bool>(
"doLumiAnalysis"))
104 , doProfilesVsLS_ ( iConfig.getParameter<
bool>(
"doProfilesVsLS"))
105 , doAllPlots ( iConfig.getParameter<
bool>(
"doAllPlots"))
106 , doGeneralPropertiesPlots_( iConfig.getParameter<
bool>(
"doGeneralPropertiesPlots"))
107 , doHitPropertiesPlots_ ( iConfig.getParameter<
bool>(
"doHitPropertiesPlots"))
108 , doPUmonitoring_ ( iConfig.getParameter<
bool>(
"doPUmonitoring") )
110 , numSelection_ (iConfig.getParameter<
std::
string>(
"numCut"))
111 , denSelection_ (iConfig.getParameter<
std::
string>(
"denCut"))
112 , pvNDOF_ ( iConfig.getParameter<
int> (
"pvNDOF") )
130 allTrackToken_ = consumes<edm::View<reco::Track> >(alltrackProducer);
133 seedToken_ = consumes<edm::View<TrajectorySeed> >(seedProducer);
140 return std::make_tuple(consumes<MVACollection>(edm::InputTag(tag,
"MVAValues")),
141 consumes<QualityMaskCollection>(edm::InputTag(tag,
"QualityMasks")));
150 if(!regionTag.label().empty()) {
151 regionToken_ = consumes<edm::OwnVector<TrackingRegion> >(regionTag);
154 if(!regionLayersTag.label().empty()) {
156 throw cms::Exception(
"Configuration") <<
"Only one of 'RegionProducer' and 'RegionSeedingLayersProducer' can be non-empty, now both are.";
161 throw cms::Exception(
"Configuration") <<
"With doRegionPlots=True either 'RegionProducer' or 'RegionSeedingLayersProducer' must be non-empty, now both are empty.";
164 if(doRegionCandidatePlots) {
175 if (alltrackProducer.
label()==trackProducer.label()) doFractionPlot_ =
false;
182 if ( doPlotsVsBXlumi_ )
190 std::vector<edm::InputTag> primaryVertexInputTags = iConfig.
getParameter<std::vector<edm::InputTag> >(
"primaryVertexInputTags");
191 std::vector<edm::InputTag> selPrimaryVertexInputTags = iConfig.
getParameter<std::vector<edm::InputTag> >(
"selPrimaryVertexInputTags");
192 std::vector<std::string> pvLabels = iConfig.
getParameter<std::vector<std::string> > (
"pvLabels");
194 if (primaryVertexInputTags.size()==pvLabels.size() and primaryVertexInputTags.size()==selPrimaryVertexInputTags.size()) {
195 for (
size_t i=0;
i<primaryVertexInputTags.size();
i++) {
226 assert(conf !=
nullptr);
234 edm::LogWarning(
"TrackingMonitor") <<
"Qualty Name is invalid, using no quality criterea by default";
243 int TKNoBin = conf->getParameter<
int>(
"TkSizeBin");
244 double TKNoMin = conf->getParameter<
double>(
"TkSizeMin");
245 double TKNoMax = conf->getParameter<
double>(
"TkSizeMax");
247 int TCNoBin = conf->getParameter<
int>(
"TCSizeBin");
248 double TCNoMin = conf->getParameter<
double>(
"TCSizeMin");
249 double TCNoMax = conf->getParameter<
double>(
"TCSizeMax");
251 int TKNoSeedBin = conf->getParameter<
int>(
"TkSeedSizeBin");
252 double TKNoSeedMin = conf->getParameter<
double>(
"TkSeedSizeMin");
253 double TKNoSeedMax = conf->getParameter<
double>(
"TkSeedSizeMax");
255 int MeanHitBin = conf->getParameter<
int>(
"MeanHitBin");
256 double MeanHitMin = conf->getParameter<
double>(
"MeanHitMin");
257 double MeanHitMax = conf->getParameter<
double>(
"MeanHitMax");
259 int MeanLayBin = conf->getParameter<
int>(
"MeanLayBin");
260 double MeanLayMin = conf->getParameter<
double>(
"MeanLayMin");
261 double MeanLayMax = conf->getParameter<
double>(
"MeanLayMax");
263 int LSBin = conf->getParameter<
int>(
"LSBin");
264 int LSMin = conf->getParameter<
double>(
"LSMin");
265 int LSMax = conf->getParameter<
double>(
"LSMax");
269 StateName !=
"OuterSurface" &&
270 StateName !=
"InnerSurface" &&
271 StateName !=
"ImpactPoint" &&
272 StateName !=
"default" &&
276 edm::LogWarning(
"TrackingMonitor") <<
"State Name is invalid, using 'ImpactPoint' by default";
288 histname =
"NumberOfTracks_" + CategoryName;
294 histname =
"NumberOfMeanRecHitsPerTrack_" + CategoryName;
299 histname =
"NumberOfMeanLayersPerTrack_" + CategoryName;
305 histname =
"FractionOfGoodTracks_" + CategoryName;
316 histname =
"NumberOfTracks_lumiFlag_" + CategoryName;
331 histname =
"NumberOfTracksVsLS_"+ CategoryName;
337 histname =
"NumberOfRecHitsPerTrackVsLS_" + CategoryName;
343 histname =
"NumberEventsVsLS_" + CategoryName;
349 double GoodPVtxMin = conf->getParameter<
double>(
"GoodPVtxMin");
350 double GoodPVtxMax = conf->getParameter<
double>(
"GoodPVtxMax");
352 histname =
"NumberOfGoodPVtxVsLS_" + CategoryName;
358 histname =
"NumberOfGoodPVtxWO0VsLS_" + CategoryName;
364 histname =
"GoodTracksFractionVsLS_"+ CategoryName;
373 int BXBin = 3564;
double BXMin = 0.5;
double BXMax = 3564.5;
375 histname =
"NumberEventsVsBX_" + CategoryName;
380 histname =
"NumberOfTracksVsBX_"+ CategoryName;
385 histname =
"NumberOfRecHitsPerTrackVsBX_" + CategoryName;
390 histname =
"NumberOfGoodPVtxVsBX_" + CategoryName;
395 histname =
"NumberOfGoodPVtxWO0VsBX_" + CategoryName;
401 histname =
"GoodTracksFractionVsBX_"+ CategoryName;
422 int PVBin = conf->getParameter<
int> (
"PVBin");
423 float PVMin = conf->getParameter<
double>(
"PVMin");
424 float PVMax = conf->getParameter<
double>(
"PVMax");
426 histname =
"NumberOfTracksVsGoodPVtx";
431 histname =
"NumberOfTracksVsPUPVtx";
436 histname =
"NumberEventsVsGoodPVtx";
442 histname =
"GoodTracksFractionVsGoodPVtx";
448 histname =
"NumberOfRecHitsPerTrackVsGoodPVtx";
453 histname =
"NumberOfPVtxVsGoodPVtx";
458 double NClusPxMin = conf->getParameter<
double>(
"NClusPxMin");
459 double NClusPxMax = conf->getParameter<
double>(
"NClusPxMax");
460 histname =
"NumberOfPixelClustersVsGoodPVtx";
465 double NClusStrMin = conf->getParameter<
double>(
"NClusStrMin");
466 double NClusStrMax = conf->getParameter<
double>(
"NClusStrMax");
467 histname =
"NumberOfStripClustersVsGoodPVtx";
477 int LUMIBin = conf->getParameter<
int>(
"LUMIBin");
478 float LUMIMin = conf->getParameter<
double>(
"LUMIMin");
479 float LUMIMax = conf->getParameter<
double>(
"LUMIMax");
486 histname =
"NumberOfTracksVsLUMI";
492 histname =
"GoodTracksFractionVsLUMI";
498 histname =
"NumberOfRecHitsPerTrackVsLUMI";
503 double PVMin = conf->getParameter<
double>(
"PVMin");
504 double PVMax = conf->getParameter<
double>(
"PVMax");
506 histname =
"NumberOfGoodPVtxVsLUMI";
511 histname =
"NumberOfGoodPVtxWO0VsLUMI";
516 double NClusPxMin = conf->getParameter<
double>(
"NClusPxMin");
517 double NClusPxMax = conf->getParameter<
double>(
"NClusPxMax");
518 histname =
"NumberOfPixelClustersVsGoodPVtx";
523 double NClusStrMin = conf->getParameter<
double>(
"NClusStrMin");
524 double NClusStrMax = conf->getParameter<
double>(
"NClusStrMax");
525 histname =
"NumberOfStripClustersVsLUMI";
537 int BXlumiBin = BXlumiParameters.
getParameter<
int>(
"BXlumiBin");
538 double BXlumiMin = BXlumiParameters.
getParameter<
double>(
"BXlumiMin");
539 double BXlumiMax = BXlumiParameters.
getParameter<
double>(
"BXlumiMax");
541 histname =
"NumberOfTracksVsBXlumi_"+ CategoryName;
556 doAllSeedPlots = conf->getParameter<
bool>(
"doSeedParameterHistos");
562 runTrackBuildingAnalyzerForSeed=(
doAllSeedPlots || conf->getParameter<
bool>(
"doSeedPTHisto") ||conf->getParameter<
bool>(
"doSeedETAHisto") || conf->getParameter<
bool>(
"doSeedPHIHisto") || conf->getParameter<
bool>(
"doSeedPHIVsETAHisto") || conf->getParameter<
bool>(
"doSeedThetaHisto") || conf->getParameter<
bool>(
"doSeedQHisto") || conf->getParameter<
bool>(
"doSeedDxyHisto") || conf->getParameter<
bool>(
"doSeedDzHisto") || conf->getParameter<
bool>(
"doSeedNRecHitsHisto") || conf->getParameter<
bool>(
"doSeedNVsPhiProf")|| conf->getParameter<
bool>(
"doSeedNVsEtaProf"));
568 histname =
"NumberOfSeeds_"+ seedProducer.
label() +
"_"+ CategoryName;
573 if ( doSeedLumiAnalysis_ ) {
575 histname =
"NumberOfSeeds_lumiFlag_"+ seedProducer.
label() +
"_"+ CategoryName;
586 ClusterLabels= conf->getParameter<std::vector<std::string> >(
"ClusterLabels");
588 std::vector<double> histoMin,histoMax;
589 std::vector<int> histoBin;
591 int NClusPxBin = conf->getParameter<
int>(
"NClusPxBin");
592 double NClusPxMin = conf->getParameter<
double>(
"NClusPxMin");
593 double NClusPxMax = conf->getParameter<
double>(
"NClusPxMax");
595 int NClusStrBin = conf->getParameter<
int>(
"NClusStrBin");
596 double NClusStrMin = conf->getParameter<
double>(
"NClusStrMin");
597 double NClusStrMax = conf->getParameter<
double>(
"NClusStrMax");
599 setMaxMinBin(histoMin,histoMax,histoBin,NClusStrMin,NClusStrMax,NClusStrBin,NClusPxMin,NClusPxMax,NClusPxBin);
604 TKNoSeedBin, TKNoSeedMin, TKNoSeedMax)));
614 int regionBin = conf->getParameter<
int>(
"RegionSizeBin");
615 double regionMin = conf->getParameter<
double>(
"RegionSizeMin");
616 double regionMax = conf->getParameter<
double>(
"RegionSizeMax");
618 histname =
"TrackingRegionsNumberOf_"+ seedProducer.
label() +
"_"+ CategoryName;
632 histname =
"NumberOfTrackCandidates_"+ tcProducer.
label() +
"_"+ CategoryName;
637 histname =
"FractionOfCandOverSeeds_"+ tcProducer.
label() +
"_"+ CategoryName;
653 if ( doSeedLumiAnalysis_ )
659 ClusterLabels= conf->getParameter<std::vector<std::string> >(
"ClusterLabels");
661 std::vector<double> histoMin,histoMax;
662 std::vector<int> histoBin;
664 int NClusStrBin = conf->getParameter<
int>(
"NClusStrBin");
665 double NClusStrMin = conf->getParameter<
double>(
"NClusStrMin");
666 double NClusStrMax = conf->getParameter<
double>(
"NClusStrMax");
668 int NClusPxBin = conf->getParameter<
int>(
"NClusPxBin");
669 double NClusPxMin = conf->getParameter<
double>(
"NClusPxMin");
670 double NClusPxMax = conf->getParameter<
double>(
"NClusPxMax");
672 int NTrk2DBin = conf->getParameter<
int>(
"NTrk2DBin");
673 double NTrk2DMin = conf->getParameter<
double>(
"NTrk2DMin");
674 double NTrk2DMax = conf->getParameter<
double>(
"NTrk2DMax");
677 NClusStrMin,NClusStrMax,NClusStrBin,
678 NClusPxMin, NClusPxMax, NClusPxBin);
687 histoBin[
i], histoMin[i], histoMax[i],
688 NTrk2DBin,NTrk2DMin,NTrk2DMax
692 title =
"# of Clusters in (Pixel+Strip) Detectors";
738 if ( lumiScalers.
isValid() && !lumiScalers->empty() ) {
739 LumiScalersCollection::const_iterator scalit = lumiScalers->begin();
740 lumi = scalit->instantLumi();
759 int numberOfTracks_den = 0;
762 if (allTrackHandle.
isValid()) {
767 numberOfTracks_den++;
775 pv0 = &pvHandle->front();
779 || pv0->
ndof() <
pvNDOF_ || pv0->
z() > 24.) pv0 =
nullptr;
785 int numberOfTracks = trackHandle->size();
786 int numberOfTracks_num = 0;
787 int numberOfTracks_pv0 = 0;
791 int totalRecHits = 0, totalLayers = 0;
802 numberOfTracks_num++;
812 totalRecHits +=
track->numberOfValidHits();
813 totalLayers +=
track->hitPattern().trackerLayersWithMeasurement();
821 if (numberOfTracks_den > 0) frac =
static_cast<double>(numberOfTracks_num)/static_cast<double>(numberOfTracks_den);
839 if( numberOfTracks > 0 ) {
840 double meanRecHits =
static_cast<double>(totalRecHits) / static_cast<double>(numberOfTracks);
841 double meanLayers =
static_cast<double>(totalLayers) / static_cast<double>(numberOfTracks);
893 for( TrackCandidateCollection::const_iterator
cand = theTCCollection.begin();
cand != theTCCollection.end(); ++
cand) {
898 edm::LogWarning(
"TrackingMonitor") <<
"No Track Candidates in the event. Not filling associated histograms";
903 std::vector<const MVACollection *> mvaCollections;
904 std::vector<const QualityMaskCollection *> qualityMaskCollections;
912 iEvent.
getByToken(std::get<0>(tokenTpl), hmva);
913 iEvent.
getByToken(std::get<1>(tokenTpl), hqual);
915 mvaCollections.push_back(hmva.
product());
916 qualityMaskCollections.push_back(hqual.
product());
932 const auto& seedCollection = *seedHandle;
942 std::vector<int> NClus;
952 const auto& seedStopInfo = *stopHandle;
954 if(seedStopInfo.size() == seedCollection.size()) {
966 for(
size_t i=0;
i < seedCollection.size(); ++
i) {
971 edm::LogWarning(
"TrackingMonitor") <<
"Seed collection size (" << seedCollection.size()
972 <<
") differs from seed stop info collection size (" << seedStopInfo.size()
973 <<
"). This is a sign of inconsistency in the configuration. Not filling associated histograms.";
978 edm::LogWarning(
"TrackingMonitor") <<
"No Trajectory seeds in the event. Not filling associated histograms";
988 const auto&
regions = *hregions;
996 const auto&
regions = *hregions;
1011 std::vector<int> NClus;
1026 size_t totalNumGoodPV = 0;
1029 for (reco::VertexCollection::const_iterator
pv = pvHandle->begin();
1030 pv != pvHandle->end(); ++
pv) {
1033 if (
pv->isFake() ||
pv->tracksSize()==0)
continue;
1036 if (
pv->ndof() <
pvNDOF_ ||
pv->z() > 24.)
continue;
1042 if (totalNumGoodPV>1)
NumberOfTracksVsPUPVtx->
Fill( totalNumGoodPV-1,
double(numberOfTracks-numberOfTracks_pv0)/
double(totalNumGoodPV-1) );
1063 std::vector<int> NClus;
1065 std::ostringstream ss;
1066 ss <<
"VI stat " << totalNumGoodPV <<
' ' << numberOfTracks;
1068 ss <<
' ' << NClus[
i];
1097 void TrackingMonitor::setMaxMinBin(std::vector<double> &arrayMin, std::vector<double> &arrayMax, std::vector<int> &arrayBin,
double smin,
double smax,
int sbin,
double pmin,
double pmax,
int pbin)
1105 if (
ClusterLabels[
i]==
"Pix" ) {arrayMin[
i]=pmin; arrayMax[
i]=pmax; arrayBin[
i]=pbin;}
1106 else if(
ClusterLabels[
i]==
"Strip") {arrayMin[
i]=smin; arrayMax[
i]=smax; arrayBin[
i]=sbin;}
1107 else if(
ClusterLabels[
i]==
"Tot" ) {arrayMin[
i]=smin; arrayMax[
i]=smax+pmax; arrayBin[
i]=sbin;}
1109 arrayMin[
i]=smin; arrayMax[
i]=smax; arrayBin[
i]=sbin;}
1118 int ncluster_pix=-1;
1119 int ncluster_strip=-1;
1127 ncluster_pix = (*pixel_clusters).dataSize();
1128 ncluster_strip = (*strip_clusters).dataSize();
1136 else if(
ClusterLabels[
i]==
"Tot" ) arrayNclus[
i]=ncluster_pix+ncluster_strip;
1138 arrayNclus[
i]=ncluster_strip ;}
edm::EDGetTokenT< std::vector< SeedStopInfo > > seedStopInfoToken_
edm::EDGetTokenT< edm::View< reco::Track > > trackToken_
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::OwnVector< TrackingRegion > > regionToken_
edm::EDGetTokenT< edm::View< TrajectorySeed > > seedToken_
std::vector< MonitorElement * > NumberOfTrkVsClusters
MonitorElement * FractionOfGoodTracks
virtual void setMaxMinBin(std::vector< double > &, std::vector< double > &, std::vector< int > &, double, double, int, double, double, int)
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrajectorySeed &seed, const SeedStopInfo &stopInfo, const reco::BeamSpot &bs, const edm::ESHandle< MagneticField > &theMF, const edm::ESHandle< TransientTrackingRecHitBuilder > &theTTRHBuilder)
MonitorElement * NumberOfTracksVsBX
MonitorElement * NumberOfRecHitsPerTrackVsBX
MonitorElement * NumberOfRecHitsPerTrackVsLUMI
virtual void setNclus(const edm::Event &, std::vector< int > &)
~TrackingMonitor() override
MonitorElement * bookProfile(Args &&...args)
MonitorElement * NumberEventsOfVsGoodPVtx
GetLumi * theLumiDetails_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
void initHisto(DQMStore::IBooker &ibooker, const edm::EventSetup &, const edm::ParameterSet &)
std::vector< TrackCandidate > TrackCandidateCollection
MonitorElement * FractionCandidatesOverSeeds
int bunchCrossing() const
MonitorElement * GoodTracksFractionVsLUMI
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
MonitorElement * NumberOfPVtxVsGoodPVtx
MonitorElement * NumberOfMeanRecHitsPerTrack
MonitorElement * NumberOfTracksVsGoodPVtx
void initHisto(DQMStore::IBooker &ibooker, const edm::ParameterSet &)
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
LuminosityBlockNumber_t luminosityBlock() const
const Point & position() const
position
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * NumberOfStripClustersVsLUMI
MonitorElement * GoodTracksFractionVsLS
edm::EDGetTokenT< edm::View< reco::Track > > mvaTrackToken_
double getValue(const edm::Event &)
MonitorElement * NumberOfGoodPVtxWO0VsLUMI
MonitorElement * NumberOfSeeds
const_iterator begin() const
MonitorElement * NumberOfTrackingRegions
void setLumiFlag()
this ME is meant to be stored for each luminosity section
void setCurrentFolder(std::string const &fullpath)
void setBX(const edm::Event &)
MonitorElement * NumberOfGoodPVtxVsLS
edm::EDGetTokenT< edm::View< reco::Track > > allTrackToken_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * NumberOfGoodPVtxVsLUMI
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
MonitorElement * book1D(Args &&...args)
void endRun(const edm::Run &, const edm::EventSetup &) override
MonitorElement * NumberOfTracksVsLS
Abs< T >::type abs(const T &t)
MonitorElement * NumberOfGoodPVtxWO0VsLS
double z() const
z coordinate
bool getMapped(key_type const &k, value_type &result) const
bool doRegionCandidatePlots
MonitorElement * NumberOfTracksVsPUPVtx
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
MonitorElement * NumberEventsOfVsBX
bool runTrackBuildingAnalyzerForSeed
void Reset()
reset ME (ie. contents, errors, etc)
MonitorElement * NumberOfStripClustersVsGoodPVtx
std::vector< MonitorElement * > SeedsVsClusters
MonitorElement * NumberOfPixelClustersVsGoodPVtx
dqm::TrackAnalyzer * theTrackAnalyzer
MonitorElement * NumberOfRecHitsPerTrackVsLS
MonitorElement * GoodTracksFractionVsGoodPVtx
MonitorElement * NumberOfRecHitsPerTrackVsGoodPVtx
edm::EDGetTokenT< TrackingRegionsSeedingLayerSets > regionLayerSetsToken_
edm::ParameterSetID confID_
MonitorElement * NumberOfPixelClustersVsLUMI
void setNumberOfGoodVertices(const edm::Event &)
std::vector< VertexMonitor * > theVertexMonitor
MonitorElement * NumberOfTracksVsBXlumi
edm::InputTag stripClusterInputTag_
bool doGeneralPropertiesPlots_
TrackBuildingAnalyzer * theTrackBuildingAnalyzer
T const * product() const
MonitorElement * book2D(Args &&...args)
edm::EDGetTokenT< TrackCandidateCollection > trackCandidateToken_
MonitorElement * NumberOfMeanLayersPerTrack
StringCutObjectSelector< reco::Track, true > denSelection_
StringCutObjectSelector< reco::Track, true > numSelection_
GenericTriggerEventFlag * genTriggerEventFlag_
edm::EDGetTokenT< reco::CandidateView > regionCandidateToken_
MonitorElement * GoodTracksFractionVsBX
edm::InputTag pixelClusterInputTag_
MonitorElement * NumberOfSeeds_lumiFlag
void beginLuminosityBlock(const edm::LuminosityBlock &lumi, const edm::EventSetup &eSetup) override
TrackingMonitor(const edm::ParameterSet &)
edm::ESHandle< TransientTrackingRecHitBuilder > theTTRHBuilder
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
MonitorElement * NumberOfTrackCandidates
bool isUninitialized() const
const_iterator end() const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
void Reset(std::vector< TH2F > &depth)
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClustersToken_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
MonitorElement * NumberOfGoodPVtxVsBX
MonitorElement * NumberEventsOfVsLUMI
std::vector< std::tuple< edm::EDGetTokenT< MVACollection >, edm::EDGetTokenT< QualityMaskCollection > > > mvaQualityTokens_
MonitorElement * NumberOfTracks_lumiFlag
void setLumi(const edm::Event &, const edm::EventSetup &iSetup)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
edm::EDGetTokenT< reco::BeamSpot > bsSrcToken_
MonitorElement * NumberOfTracks
size_t tracksSize() const
number of tracks
static Registry * instance()
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
edm::EDGetTokenT< reco::VertexCollection > pvSrcToken_
MonitorElement * NumberEventsOfVsLS
MonitorElement * NumberOfTracksVsLUMI
std::vector< std::string > ClusterLabels
MonitorElement * NumberOfGoodPVtxWO0VsBX