24 template <
typename T,
size_t N>
26 const double minLog10 = std::log10(
min);
27 const double maxLog10 = std::log10(
max);
28 const double width = (maxLog10 - minLog10) /
N;
29 std::array<T, N + 1>
ret;
32 for (
size_t i = 1;
i <=
N; ++
i) {
39 using namespace tadqm;
42 stateName_(iConfig.getParameter<
std::
string>(
"MeasurementState")),
43 doTrackerSpecific_(iConfig.getParameter<
bool>(
"doTrackerSpecific")),
44 doAllPlots_(iConfig.getParameter<
bool>(
"doAllPlots")),
45 doBSPlots_(iConfig.getParameter<
bool>(
"doBeamSpotPlots")),
46 doPVPlots_(iConfig.getParameter<
bool>(
"doPrimaryVertexPlots")),
47 doDCAPlots_(iConfig.getParameter<
bool>(
"doDCAPlots")),
48 doGeneralPropertiesPlots_(iConfig.getParameter<
bool>(
"doGeneralPropertiesPlots")),
49 doMeasurementStatePlots_(iConfig.getParameter<
bool>(
"doMeasurementStatePlots")),
50 doHitPropertiesPlots_(iConfig.getParameter<
bool>(
"doHitPropertiesPlots")),
51 doRecHitVsPhiVsEtaPerTrack_(iConfig.getParameter<
bool>(
"doRecHitVsPhiVsEtaPerTrack")),
52 doRecHitVsPtVsEtaPerTrack_(iConfig.getParameter<
bool>(
"doRecHitVsPtVsEtaPerTrack")),
53 doLayersVsPhiVsEtaPerTrack_(iConfig.getParameter<
bool>(
"doLayersVsPhiVsEtaPerTrack")),
54 doRecHitsPerTrackProfile_(iConfig.getParameter<
bool>(
"doRecHitsPerTrackProfile")),
55 doThetaPlots_(iConfig.getParameter<
bool>(
"doThetaPlots")),
56 doTrackPxPyPlots_(iConfig.getParameter<
bool>(
"doTrackPxPyPlots")),
57 doDCAwrtPVPlots_(iConfig.getParameter<
bool>(
"doDCAwrtPVPlots")),
58 doDCAwrt000Plots_(iConfig.getParameter<
bool>(
"doDCAwrt000Plots")),
59 doLumiAnalysis_(iConfig.getParameter<
bool>(
"doLumiAnalysis")),
60 doTestPlots_(iConfig.getParameter<
bool>(
"doTestPlots")),
61 doHIPlots_(iConfig.getParameter<
bool>(
"doHIPlots")),
62 doSIPPlots_(iConfig.getParameter<
bool>(
"doSIPPlots")),
63 doEffFromHitPatternVsPU_(iConfig.getParameter<
bool>(
"doEffFromHitPatternVsPU")),
64 doEffFromHitPatternVsBX_(iConfig.getParameter<
bool>(
"doEffFromHitPatternVsBX")),
65 doEffFromHitPatternVsLUMI_(iConfig.getParameter<
bool>(
"doEffFromHitPatternVsLUMI")),
66 pvNDOF_(iConfig.getParameter<
int>(
"pvNDOF")),
67 forceSCAL_(iConfig.getParameter<
bool>(
"forceSCAL")),
68 useBPixLayer1_(iConfig.getParameter<
bool>(
"useBPixLayer1")),
69 minNumberOfPixelsPerCluster_(iConfig.getParameter<
int>(
"minNumberOfPixelsPerCluster")),
70 minPixelClusterCharge_(iConfig.getParameter<double>(
"minPixelClusterCharge")),
71 qualityString_(iConfig.getParameter<
std::
string>(
"qualityString")),
253 std::string NAME[] = {
"",
"VsBX",
"VsLUMI",
"VsLUMI"};
280 const char* dets[] = {
"None",
"PXB",
"PXF",
"TIB",
"TID",
"TOB",
"TEC"};
286 const char* hit_category[] = {
"valid",
"missing",
"inactive",
"bad",
"total"};
290 for (
unsigned int det = 1; det <
sizeof(dets) /
sizeof(
char*); ++det) {
291 for (
unsigned int sub_det = 1; sub_det <= trackerGeometry.
numberOfLayers(det); ++sub_det) {
292 for (
unsigned int cat = 0;
cat <
sizeof(hit_category) /
sizeof(
char*); ++
cat) {
294 snprintf(
title,
sizeof(
title),
"Hits%s_%s_%s_Subdet%d",
name.c_str(), hit_category[
cat], dets[det], sub_det);
307 LogDebug(
"TrackAnalyzer") <<
"Invalid hit category used " <<
cat <<
" ignored\n";
377 histname =
"NumberOfRecHitsPerTrack_";
383 histname =
"NumberOfValidRecHitsPerTrack_";
390 histname =
"NumberOfLostRecHitsPerTrack_";
396 histname =
"NumberOfMissingInnerRecHitsPerTrack_";
401 histname =
"NumberOfMissingOuterRecHitsPerTrack_";
406 histname =
"ValidFractionPerTrack_";
412 histname =
"NumberOfValidRecHitVsPhiVsEtaPerTrack_";
427 histname =
"NumberOfLostRecHitVsPhiVsEtaPerTrack_";
442 histname =
"NumberMIRecHitVsPhiVsEtaPerTrack_";
457 histname =
"NumberMORecHitVsPhiVsEtaPerTrack_";
472 histname =
"ValidFractionVsPhiVsEtaPerTrack_";
489 histname =
"NumberOfValidRecHitVsPtVsEtaPerTrack_";
491 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 40.,
"");
495 histname =
"NumberOfLostRecHitVsPtVsEtaPerTrack_";
497 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 5.,
"");
501 histname =
"NumberMIRecHitVsPtVsEtaPerTrack_";
503 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 15.,
"");
507 histname =
"NumberMORecHitVsPtVsEtaPerTrack_";
509 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 15.,
"");
514 histname =
"NumberOfValidRecHitsPerTrackVsPt_";
520 histname =
"NumberOfLostRecHitsPerTrackVsPt_";
526 histname =
"NumberMIRecHitsPerTrackVsPt_";
532 histname =
"NumberMORecHitsPerTrackVsPt_";
538 std::string layerTypeName[5] = {
"",
"Off",
"3D",
"Missing",
"Pixel"};
539 for (
int i = 0;
i < 4; ++
i) {
540 histname =
"NumberOf" + layerTypeName[
i] +
"LayersPerTrack_";
547 for (
int i = 0;
i < 5; ++
i) {
548 histname =
"NumberOf" + layerTypeName[
i] +
"LayersVsPhiVsEtaPerTrack_";
595 Chi2->setAxisTitle(
"Track #chi^{2}", 1);
596 Chi2->setAxisTitle(
"Number of Tracks", 2);
659 histname =
"xPointOfClosestApproach_";
664 histname =
"yPointOfClosestApproach_";
669 histname =
"zPointOfClosestApproach_";
674 histname =
"xPointOfClosestApproachToPV_";
680 histname =
"yPointOfClosestApproachToPV_";
686 histname =
"zPointOfClosestApproachToPV_";
721 histname + CategoryName,
histname + CategoryName, StopReasonNameSize, 0.,
double(StopReasonNameSize));
737 for (
size_t ibin = 0; ibin < StopReasonNameSize; ibin++) {
766 histname =
"NumberOfRecHitsPerTrack_lumiFlag_";
834 histname =
"DistanceOfClosestApproachError_";
840 histname =
"DistanceOfClosestApproachErrorVsPt_";
846 histname =
"DistanceOfClosestApproachErrorVsEta_";
852 histname =
"DistanceOfClosestApproachErrorVsPhi_";
858 histname =
"DistanceOfClosestApproachErrorVsDxy_";
864 histname =
"DistanceOfClosestApproachToBS_";
871 histname =
"DistanceOfClosestApproachToBSdz_";
877 histname =
"DistanceOfClosestApproachToBSVsEta_";
884 histname =
"AbsDistanceOfClosestApproachToBS_";
890 histname =
"DistanceOfClosestApproachToBSVsPhi_";
896 histname =
"xPointOfClosestApproachVsZ0wrt000_";
902 histname =
"yPointOfClosestApproachVsZ0wrt000_";
908 histname =
"xPointOfClosestApproachVsZ0wrtBS_";
914 histname =
"yPointOfClosestApproachVsZ0wrtBS_";
920 histname =
"zPointOfClosestApproachVsPhi_";
950 histname =
"DistanceOfClosestApproachToPV_";
956 histname =
"DistanceOfClosestApproachToPVZoom_";
972 histname =
"DistanceOfClosestApproachToPVVsPhi_";
978 histname =
"xPointOfClosestApproachVsZ0wrtPV_";
984 histname =
"yPointOfClosestApproachVsZ0wrtPV_";
1001 histname =
"TESTDistanceOfClosestApproachToBS_";
1007 histname =
"TESTDistanceOfClosestApproachToBSVsPhi_";
1037 histname =
"DistanceOfClosestApproachVsTheta_";
1044 histname =
"DistanceOfClosestApproachVsEta_";
1051 histname =
"DistanceOfClosestApproach_";
1057 histname =
"DistanceOfClosestApproachVsPhi_";
1066 const double sipBins = 200;
1067 const double sipMin = -20;
1068 const double sipMax = 20;
1112 if (recoPrimaryVerticesHandle.
isValid())
1113 if (!recoPrimaryVerticesHandle->empty())
1114 for (
const auto&
v : *recoPrimaryVerticesHandle)
1127 LumiScalersCollection::const_iterator scalit =
lumiScalers->begin();
1145 size_t numClusters = 0;
1149 DetId detid = pixCluDet->detId();
1150 size_t subdetid = detid.
subdetId();
1153 if (tTopo.
layer(detid) == 1)
1157 for (; pixClu != pixCluDet->
end(); ++pixClu) {
1170 auto phi =
track.phi();
1172 auto phiIn =
track.innerPosition().phi();
1173 auto etaIn =
track.innerPosition().eta();
1174 auto phiOut =
track.outerPosition().phi();
1175 auto etaOut =
track.outerPosition().eta();
1178 int nValidRecHits =
track.numberOfValidHits();
1179 int nLostRecHits =
track.numberOfLostHits();
1184 auto chi2prob = TMath::Prob(
track.chi2(), (
int)
track.ndof());
1185 auto chi2oNDF =
track.normalizedChi2();
1217 int nLayers[5] = {
track.hitPattern().trackerLayersWithMeasurement(),
1218 track.hitPattern().trackerLayersTotallyOffOrBad(),
1219 track.hitPattern().numberOfValidStripLayersWithMonoAndStereo() +
1220 track.hitPattern().pixelLayersWithMeasurement(),
1222 track.hitPattern().pixelLayersWithMeasurement()};
1225 for (
int i = 0;
i < 4; ++
i)
1230 for (
int i = 0;
i < 5; ++
i)
1272 double stop =
track.stopReason() >
max ? double(
max - 1) :
static_cast<double>(
track.stopReason());
1321 if (recoPrimaryVerticesHandle.
isValid() && !recoPrimaryVerticesHandle->empty()) {
1329 double longDCAsig = 0, transDCAsig = 0;
1330 double zerr2 =
track.dzError() *
track.dzError() +
pv.zError() *
pv.zError();
1331 double xyerr2 =
track.d0Error() *
track.d0Error() +
pv.xError() *
pv.yError();
1333 longDCAsig =
track.dz(
pv.position()) / zerr2;
1335 transDCAsig =
track.dxy(
pv.position()) / xyerr2;
1432 bool inactive =
hp.inactiveHitFilter(
pattern);
1434 hit_type =
valid ? 0 : (
missing ? 1 : (inactive ? 2 : 3));
1437 LogDebug(
"TrackAnalyzer") <<
"Invalid combination of detector and subdetector: (" 1439 <<
mon <<
"): ignoring it.\n";
1455 LogDebug(
"TrackAnalyzer") <<
"Invalid hit category used " << hit_type <<
" ignored\n";
1559 std::string histTag = (sname ==
"default") ? CategoryName : sname +
"_" + CategoryName;
1566 histname =
"Chi2oNDFVsTheta_" + histTag;
1572 histname =
"Chi2oNDFVsPhi_" + histTag;
1577 histname =
"Chi2ProbVsPhi_" + histTag;
1583 histname =
"Chi2ProbVsEta_" + histTag;
1593 histname =
"Chi2oNDFVsEta_" + histTag;
1598 histname =
"Chi2oNDFVsPt_" + histTag;
1604 histname =
"Chi2oNDFVsNHits_" + histTag;
1646 histname =
"TrackPtHighPurity_" + histTag;
1651 histname =
"TrackPtTight_" + histTag;
1656 histname =
"TrackPtLoose_" + histTag;
1666 for (
size_t ibin = 0; ibin < 3; ibin++) {
1670 histname =
"TrackPt_NegEta_Phi_btw_neg16_neg32_" + histTag;
1675 histname =
"TrackPt_NegEta_Phi_btw_0_neg16_" + histTag;
1680 histname =
"TrackPt_NegEta_Phi_btw_16_0_" + histTag;
1685 histname =
"TrackPt_NegEta_Phi_btw_32_16_" + histTag;
1690 histname =
"TrackPt_PosEta_Phi_btw_neg16_neg32_" + histTag;
1695 histname =
"TrackPt_PosEta_Phi_btw_0_neg16_" + histTag;
1700 histname =
"TrackPt_PosEta_Phi_btw_16_0_" + histTag;
1705 histname =
"TrackPt_PosEta_Phi_btw_32_16_" + histTag;
1710 histname =
"Ratio_byFolding_" + histTag;
1714 histname =
"Ratio_byFolding2_" + histTag;
1718 histname =
"TrackEtaHighpurity_" + histTag;
1723 histname =
"TrackEtaTight_" + histTag;
1728 histname =
"TrackEtaLoose_" + histTag;
1733 histname =
"TrackEtaPhiInverted_" + histTag;
1738 histname =
"TrackEtaPhiInvertedoutofphase_" + histTag;
1744 histname =
"TrackQoverP_" + histTag;
1750 histname =
"TrackEtaPhi_" + histTag;
1755 histname =
"TrackEtaPhiInner_" + histTag;
1760 histname =
"TrackEtaPhiOuter_" + histTag;
1766 histname =
"TrackTheta_" + histTag;
1776 histname =
"TrackPErrOverP_" + histTag;
1781 histname =
"TrackPtErrOverPt_" + histTag;
1786 histname =
"TrackPtErrOverPtVsEta_" + histTag;
1792 histname =
"TrackPxErrOverPx_" + histTag;
1797 histname =
"TrackPyErrOverPy_" + histTag;
1802 histname =
"TrackPzErrOverPz_" + histTag;
1807 histname =
"TrackPhiErr_" + histTag;
1812 histname =
"TrackEtaErr_" + histTag;
1819 histname =
"NumberOfRecHitsPerTrackVsPhi_" + histTag;
1826 histname =
"NumberOfRecHitsPerTrackVsTheta_" + histTag;
1832 histname =
"NumberOfRecHitsPerTrackVsEta_" + histTag;
1838 histname =
"NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1844 histname =
"NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1850 histname =
"NumberOfValidRecHitsPerTrackVsPt_" + histTag;
1857 histname =
"NumberOfLayersPerTrackVsPhi_" + histTag;
1864 histname =
"NumberOfLayersPerTrackVsTheta_" + histTag;
1870 histname =
"NumberOfLayersPerTrackVsEta_" + histTag;
1877 histname =
"Chi2oNDFVsTheta_" + histTag;
1884 histname =
"Chi2oNDFVsPhi_" + histTag;
1889 histname =
"Chi2oNDFVsEta_" + histTag;
1894 histname =
"Chi2ProbVsPhi_" + histTag;
1900 histname =
"Chi2ProbVsEta_" + histTag;
1916 double pxerror, pyerror, pzerror,
pterror, perror, phierror, etaerror;
1920 auto phiIn =
track.innerPosition().phi();
1921 auto etaIn =
track.innerPosition().eta();
1922 auto phiOut =
track.outerPosition().phi();
1923 auto etaOut =
track.outerPosition().eta();
1925 if (sname ==
"default") {
1941 phierror =
track.phiError();
1942 etaerror =
track.etaError();
1950 if (sname ==
"OuterSurface")
1952 else if (sname ==
"InnerSurface")
1954 else if (sname ==
"ImpactPoint")
1969 double partialPterror =
1980 std::map<std::string, TkParameterMEs>::iterator iPos =
TkParameterMEMap.find(sname);
2004 if (
eta < 0. && phi < -1.6) {
2007 if (
eta < 0. && phi < 0 && phi >= -1.6) {
2010 if (
eta < 0. && phi < 1.6 && phi >= 0) {
2013 if (eta < 0. && phi >= 1.6) {
2016 if (
eta >= 0. && phi < -1.6) {
2019 if (
eta >= 0. && phi < 0 && phi >= -1.6) {
2022 if (
eta >= 0. && phi < 1.6 && phi >= 0) {
2025 if (
eta >= 0. && phi >= 1.6) {
2042 for (
int w = 1;
w < 8;
w++) {
2150 int nValidRecHits =
track.numberOfValidHits();
2161 int nLayers =
track.hitPattern().trackerLayersWithMeasurement();
2169 double chi2prob = TMath::Prob(
track.chi2(), (
int)
track.ndof());
2170 double chi2oNDF =
track.normalizedChi2();
2231 if (det ==
"PixBarrel")
2233 if (det ==
"PixEndcap")
2242 histname =
"NumberOfRecHitsPerTrack_" + det +
"_" + CategoryName;
2248 histname =
"NumberOfRecHitsPerTrackVsPhi_" + det +
"_" + CategoryName;
2255 histname =
"NumberOfRecHitsPerTrackVsEta_" + det +
"_" + CategoryName;
2262 histname =
"NumberOfRecHitsPerTrackVsPt_" + det +
"_" + CategoryName;
2269 histname =
"NumberOfLayersPerTrack_" + det +
"_" + CategoryName;
2275 histname =
"NumberOfLayersPerTrackVsPhi_" + det +
"_" + CategoryName;
2282 histname =
"NumberOfLayersPerTrackVsEta_" + det +
"_" + CategoryName;
2289 histname =
"NumberOfLayersPerTrackVsPt_" + det +
"_" + CategoryName;
2301 double phi =
track.phi();
2308 int nValidLayers = 0;
2309 int nValidRecHits = 0;
2310 int substr =
it->second.detectorId;
2313 nValidLayers =
track.hitPattern().pixelBarrelLayersWithMeasurement() +
2314 track.hitPattern().pixelEndcapLayersWithMeasurement();
2315 nValidRecHits =
track.hitPattern().numberOfValidPixelBarrelHits() +
2316 track.hitPattern().numberOfValidPixelEndcapHits();
2319 nValidLayers =
track.hitPattern().stripTIBLayersWithMeasurement();
2320 nValidRecHits =
track.hitPattern().numberOfValidStripTIBHits();
2323 nValidLayers =
track.hitPattern().stripTIDLayersWithMeasurement();
2324 nValidRecHits =
track.hitPattern().numberOfValidStripTIDHits();
2327 nValidLayers =
track.hitPattern().stripTOBLayersWithMeasurement();
2328 nValidRecHits =
track.hitPattern().numberOfValidStripTOBHits();
2331 nValidLayers =
track.hitPattern().stripTECLayersWithMeasurement();
2332 nValidRecHits =
track.hitPattern().numberOfValidStripTECHits();
2335 nValidLayers =
track.hitPattern().pixelBarrelLayersWithMeasurement();
2336 nValidRecHits =
track.hitPattern().numberOfValidPixelBarrelHits();
2339 nValidLayers =
track.hitPattern().pixelEndcapLayersWithMeasurement();
2340 nValidRecHits =
track.hitPattern().numberOfValidPixelEndcapHits();
2343 nValidLayers =
track.hitPattern().stripTIBLayersWithMeasurement()
2344 +
track.hitPattern().stripTIDLayersWithMeasurement() +
2345 track.hitPattern().stripTOBLayersWithMeasurement() +
2346 track.hitPattern().stripTECLayersWithMeasurement();
2347 nValidRecHits =
track.hitPattern().numberOfValidStripTIBHits()
2348 +
track.hitPattern().numberOfValidStripTIDHits() +
2349 track.hitPattern().numberOfValidStripTOBHits() +
track.hitPattern().numberOfValidStripTECHits();
2356 it->second.NumberOfRecHitsPerTrack->Fill(nValidRecHits);
2357 it->second.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
2358 it->second.NumberOfRecHitsPerTrackVsEta->Fill(
eta, nValidRecHits);
2359 it->second.NumberOfRecHitsPerTrackVsPt->Fill(
pt, nValidRecHits);
2361 it->second.NumberOfLayersPerTrack->Fill(nValidLayers);
2362 it->second.NumberOfLayersPerTrackVsPhi->Fill(phi, nValidLayers);
2363 it->second.NumberOfLayersPerTrackVsEta->Fill(
eta, nValidLayers);
2364 it->second.NumberOfLayersPerTrackVsPt->Fill(
pt, nValidLayers);
MonitorElement * dNdPhi_HighPurity
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
static constexpr auto TEC
T getParameter(std::string const &) const
MonitorElement * TrackPtTight
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
std::string monName[monQuantity::END]
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * NumberOfLayersPerTrack[4]
MonitorElement * TrackQoverP
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
MonitorElement * TrackEtaHighPurity
MonitorElement * LongDCASig
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * algorithm
MonitorElement * TrackPt_NegEta_Phi_btw_32_16
MonitorElement * sipDxyToPV
MonitorElement * TrackEtaPhiInverted
virtual void setCurrentFolder(std::string const &fullpath)
bool doEffFromHitPatternVsLUMI_
virtual double integral() const
get integral of bins
MonitorElement * TrackPyErr
MonitorElement * TrackPErr
unsigned int numberOfLayers(int subdet) const
MonitorElement * Chi2ProbVsEta
MonitorElement * DistanceOfClosestApproach
MonitorElement * Ratio_byFolding
MonitorElement * Chi2oNDFVsTheta
std::string qualityString_
ret
prodAgent to be discontinued
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
Geom::Phi< T > phi() const
MonitorElement * TrackPzErr
bool doEffFromHitPatternVsPU_
MonitorElement * stoppingSource
MonitorElement * NumberOfLostRecHitsPerTrackVsPt
MonitorElement * NumberOfLayersPerTrack
Sin< T >::type sin(const T &t)
MonitorElement * TrackPtErr
MonitorElement * TrackEtaPhiInner
MonitorElement * TrackEta
DxyErrBin
it might need to be adjust if CMS asks to have lumi levelling at lower values
Class to contain the online luminosity from soft FED 1022.
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
bool doRecHitVsPhiVsEtaPerTrack_
MonitorElement * TrackPtLoose
void setBX(const edm::Event &)
MonitorElement * DistanceOfClosestApproachToBSdz
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
std::vector< Vertex > VertexCollection
collection of Vertex objects
MonitorElement * DistanceOfClosestApproachError
MonitorElement * Chi2oNDFVsPhi
MonitorElement * NumberOfLayersPerTrackVsPhi
int minNumberOfPixelsPerCluster_
MonitorElement * DeltaZToPVZoom
data_type const * const_iterator
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
float instLumi() const
Return the luminosity for the current nibble.
MonitorElement * sip2dToPV
MonitorElement * TrackEtaTight
MonitorElement * Chi2oNDF
TrackAnalyzer(const edm::ParameterSet &)
MonitorElement * TrackPxErr
MonitorElement * DeltaZToPV
MonitorElement * NumberOfLostRecHitsPerTrack
float lumi_factor_per_bx_
bool doHitPropertiesPlots_
MonitorElement * yPointOfClosestApproach
MonitorElement * sipDxyToBS
void initHisto(DQMStore::IBooker &ibooker, const edm::EventSetup &, const edm::ParameterSet &)
MonitorElement * xPointOfClosestApproach
static constexpr double FREQ_ORBIT
MonitorElement * DistanceOfClosestApproachErrorVsEta
edm::EDGetTokenT< OnlineLuminosityRecord > metaDataToken_
MonitorElement * TrackEtaPhi
static std::string to_string(const XMLCh *ch)
const CartesianTrajectoryError cartesianError() const
unsigned int layer(const DetId &id) const
MonitorElement * TrackPt_NegEta_Phi_btw_16_0
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
const_iterator end(bool update=false) const
MonitorElement * NumberOfLayersPerTrackVsEta
MonitorElement * TransDCASig
MonitorElement * TrackPhiErr
void bookHistosForEfficiencyFromHitPatter(DQMStore::IBooker &ibooker, const edm::EventSetup &iSetup, const std::string suffix, bool useInac)
MonitorElement * DistanceOfClosestApproachVsPhi
reco::TransientTrack build(const reco::Track *p) const
MonitorElement * Chi2oNDFVsTheta
MonitorElement * TrackTheta
MonitorElement * TrackPhi
static const unsigned int lastBunchCrossing
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachToPVVsPhi
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
MonitorElement * stoppingSourceVSeta
MonitorElement * dNdPt_HighPurity
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * stoppingSourceVSphi
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
static constexpr double SECONDS_PER_LS
static const std::string qualityNames[]
MonitorElement * NumberOfLayersPerTrackVsTheta
MonitorElement * DistanceOfClosestApproachErrorVsPt
MonitorElement * sip3dToPV
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
TrajectoryStateOnSurface outermostMeasurementState() const
MonitorElement * xPointOfClosestApproachToPV
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
MonitorElement * NumberOfMORecHitsPerTrack
bool doGeneralPropertiesPlots_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * Chi2Prob
MonitorElement * dNhitdPt_HighPurity
unsigned int good_vertices_
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfRecHitsPerTrackVsPt
MonitorElement * Chi2ProbVsEta
const std::string StopReasonName[]
MonitorElement * TrackPt_PosEta_Phi_btw_16_0
MonitorElement * NumberOfLayersPerTrackVsPhi
void fillHistosForTrackerSpecific(const reco::Track &track)
bool doRecHitVsPtVsEtaPerTrack_
Abs< T >::type abs(const T &t)
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
bool doMeasurementStatePlots_
MonitorElement * zPointOfClosestApproachToPV
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * NumberOfRecHitsPerTrackVsPhi
TrajectoryStateOnSurface innermostMeasurementState() const
TrackCharge charge() const
MonitorElement * NhitVsEta_HighPurity
MonitorElement * DistanceOfClosestApproachVsTheta
MonitorElement * TrackPtHighPurity
static constexpr auto TOB
MonitorElement * Chi2ProbVsPhi
MonitorElement * TrackEtaErr
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::map< std::string, TkParameterMEs > TkParameterMEMap
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[5]
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * NumberOfMIRecHitVsPtVsEtaPerTrack
MonitorElement * zPointOfClosestApproach
edm::ParameterSet const * conf_
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
MonitorElement * sipDzToPV
MonitorElement * sipDzToBS
float minPixelClusterCharge_
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
TrajectoryStateOnSurface TSOS
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
MonitorElement * DistanceOfClosestApproachErrorVsPhi
void setLumi(const edm::Event &, const edm::EventSetup &iSetup)
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
static TrackQuality qualityByName(const std::string &name)
static constexpr auto TIB
const_iterator begin(bool update=false) const
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * TrackPtErrVsEta
MonitorElement * NumberOfLayersPerTrackVsEta
void setNumberOfGoodVertices(const edm::Event &)
const CurvilinearTrajectoryError & curvilinearError() const
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
const AlgebraicSymMatrix55 & matrix() const
MonitorElement * NumberOfMIRecHitsPerTrackVsPt
MonitorElement * NhitVsPhi_HighPurity
std::array< T, N+1 > makeLogBins(const T &min, const T &max)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
GlobalVector globalMomentum() const
edm::EDGetTokenT< reco::VertexCollection > pvToken_
MonitorElement * Ptdist_HighPurity
static const std::string algoNames[]
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * DistanceOfClosestApproachToBSVsEta
MonitorElement * DistanceOfClosestApproachErrorVsDxy
MonitorElement * NumberOfValidRecHitsPerTrack
static constexpr double rXSEC_PIXEL_CLUSTER
void fillHistosForEfficiencyFromHitPatter(const reco::Track &track, const std::string suffix, const float monitoring, bool useInac)
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
TransDCABins
FOR HI PLOTS#####################.
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachToPV
MonitorElement * NumberOfRecHitsPerTrack
static constexpr double CM2_TO_NANOBARN
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * TrackPt_NegEta_Phi_btw_neg16_neg32
const AlgebraicSymMatrix66 & matrix() const
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
MonitorElement * Chi2ProbVsPhi
MonitorElement * NumberOfLostRecHitVsPtVsEtaPerTrack
MonitorElement * Chi2oNDFVsEta
virtual int getNbinsX() const
get # of bins in X-axis
std::vector< LumiScalers > LumiScalersCollection
bool doLayersVsPhiVsEtaPerTrack_
bool doEffFromHitPatternVsBX_
MonitorElement * NumberOfLayersPerTrackVsPt
MonitorElement * TrackEtaLoose
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * Chi2oNDFVsPhi
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * NumberOfMORecHitsPerTrackVsPt
MonitorElement * dNdEta_HighPurity
MonitorElement * NumberOfValidRecHitVsPtVsEtaPerTrack
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * Ratio_byFolding2
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
MonitorElement * TrackPt_PosEta_Phi_btw_neg16_neg32
MonitorElement * TrackEtaPhiInvertedoutofphase
MonitorElement * NumberOfMIRecHitsPerTrack
static constexpr double XSEC_PIXEL_CLUSTER
MonitorElement * TrackEtaPhiOuter
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * TrackPt_NegEta_Phi_btw_0_neg16
static constexpr auto TID
Geom::Theta< T > theta() const
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMORecHitVsPtVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachToPV
MonitorElement * Chi2oNDFVsNHits
MonitorElement * Chi2oNDFVsEta
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * NumberOfRecHitsPerTrackVsTheta
TrajectoryStateOnSurface impactPointState() const
virtual void divide(const MonitorElement *, const MonitorElement *, double, double, const char *)
Replace entries with results of dividing num by denom.
MonitorElement * DistanceOfClosestApproachToBSVsPhi
Geom::Theta< T > theta() const
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * Chi2oNDFVsPt
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * ValidFractionPerTrack
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
MonitorElement * TrackPt_PosEta_Phi_btw_0_neg16
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * TrackPt_PosEta_Phi_btw_32_16