|
|
Go to the documentation of this file.
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"};
263 for (
int i = 0;
i < monQuantity::END;
i++) {
268 mon += monQuantity::END;
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";
374 histname =
"NumberOfRecHitsPerTrack_";
380 histname =
"NumberOfValidRecHitsPerTrack_";
387 histname =
"NumberOfLostRecHitsPerTrack_";
393 histname =
"NumberOfMissingInnerRecHitsPerTrack_";
398 histname =
"NumberOfMissingOuterRecHitsPerTrack_";
403 histname =
"ValidFractionPerTrack_";
409 histname =
"NumberOfValidRecHitVsPhiVsEtaPerTrack_";
424 histname =
"NumberOfLostRecHitVsPhiVsEtaPerTrack_";
439 histname =
"NumberMIRecHitVsPhiVsEtaPerTrack_";
454 histname =
"NumberMORecHitVsPhiVsEtaPerTrack_";
469 histname =
"ValidFractionVsPhiVsEtaPerTrack_";
486 histname =
"NumberOfValidRecHitVsPtVsEtaPerTrack_";
488 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 40.,
"");
492 histname =
"NumberOfLostRecHitVsPtVsEtaPerTrack_";
494 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 5.,
"");
498 histname =
"NumberMIRecHitVsPtVsEtaPerTrack_";
500 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 15.,
"");
504 histname =
"NumberMORecHitVsPtVsEtaPerTrack_";
506 histname + CategoryName,
histname + CategoryName,
Eta2DBin,
EtaMin,
EtaMax, Pt2DBin,
PtMin,
PtMax, 0, 15.,
"");
511 histname =
"NumberOfValidRecHitsPerTrackVsPt_";
517 histname =
"NumberOfLostRecHitsPerTrackVsPt_";
523 histname =
"NumberMIRecHitsPerTrackVsPt_";
529 histname =
"NumberMORecHitsPerTrackVsPt_";
535 std::string layerTypeName[5] = {
"",
"Off",
"3D",
"Missing",
"Pixel"};
536 for (
int i = 0;
i < 4; ++
i) {
537 histname =
"NumberOf" + layerTypeName[
i] +
"LayersPerTrack_";
544 for (
int i = 0;
i < 5; ++
i) {
545 histname =
"NumberOf" + layerTypeName[
i] +
"LayersVsPhiVsEtaPerTrack_";
592 Chi2->setAxisTitle(
"Track #chi^{2}", 1);
593 Chi2->setAxisTitle(
"Number of Tracks", 2);
656 histname =
"xPointOfClosestApproach_";
661 histname =
"yPointOfClosestApproach_";
666 histname =
"zPointOfClosestApproach_";
671 histname =
"xPointOfClosestApproachToPV_";
677 histname =
"yPointOfClosestApproachToPV_";
683 histname =
"zPointOfClosestApproachToPV_";
718 histname + CategoryName,
histname + CategoryName, StopReasonNameSize, 0.,
double(StopReasonNameSize));
734 for (
size_t ibin = 0; ibin < StopReasonNameSize; ibin++) {
763 histname =
"NumberOfRecHitsPerTrack_lumiFlag_";
831 histname =
"DistanceOfClosestApproachError_";
837 histname =
"DistanceOfClosestApproachErrorVsPt_";
843 histname =
"DistanceOfClosestApproachErrorVsEta_";
849 histname =
"DistanceOfClosestApproachErrorVsPhi_";
855 histname =
"DistanceOfClosestApproachErrorVsDxy_";
861 histname =
"DistanceOfClosestApproachToBS_";
868 histname =
"DistanceOfClosestApproachToBSdz_";
874 histname =
"DistanceOfClosestApproachToBSVsEta_";
881 histname =
"AbsDistanceOfClosestApproachToBS_";
887 histname =
"DistanceOfClosestApproachToBSVsPhi_";
893 histname =
"xPointOfClosestApproachVsZ0wrt000_";
899 histname =
"yPointOfClosestApproachVsZ0wrt000_";
905 histname =
"xPointOfClosestApproachVsZ0wrtBS_";
911 histname =
"yPointOfClosestApproachVsZ0wrtBS_";
917 histname =
"zPointOfClosestApproachVsPhi_";
947 histname =
"DistanceOfClosestApproachToPV_";
953 histname =
"DistanceOfClosestApproachToPVZoom_";
969 histname =
"DistanceOfClosestApproachToPVVsPhi_";
975 histname =
"xPointOfClosestApproachVsZ0wrtPV_";
981 histname =
"yPointOfClosestApproachVsZ0wrtPV_";
998 histname =
"TESTDistanceOfClosestApproachToBS_";
1004 histname =
"TESTDistanceOfClosestApproachToBSVsPhi_";
1034 histname =
"DistanceOfClosestApproachVsTheta_";
1041 histname =
"DistanceOfClosestApproachVsEta_";
1048 histname =
"DistanceOfClosestApproach_";
1054 histname =
"DistanceOfClosestApproachVsPhi_";
1063 const double sipBins = 200;
1064 const double sipMin = -20;
1065 const double sipMax = 20;
1109 if (recoPrimaryVerticesHandle.
isValid())
1110 if (!recoPrimaryVerticesHandle->empty())
1111 for (
const auto&
v : *recoPrimaryVerticesHandle)
1124 LumiScalersCollection::const_iterator scalit =
lumiScalers->begin();
1142 size_t numClusters = 0;
1147 DetId detid = pixCluDet->detId();
1148 size_t subdetid = detid.
subdetId();
1151 if (tTopo.
layer(detid) == 1)
1155 for (; pixClu != pixCluDet->
end(); ++pixClu) {
1169 auto phi =
track.phi();
1171 auto phiIn =
track.innerPosition().phi();
1172 auto etaIn =
track.innerPosition().eta();
1173 auto phiOut =
track.outerPosition().phi();
1174 auto etaOut =
track.outerPosition().eta();
1177 int nValidRecHits =
track.numberOfValidHits();
1178 int nLostRecHits =
track.numberOfLostHits();
1183 auto chi2prob = TMath::Prob(
track.chi2(), (
int)
track.ndof());
1184 auto chi2oNDF =
track.normalizedChi2();
1216 int nLayers[5] = {
track.hitPattern().trackerLayersWithMeasurement(),
1217 track.hitPattern().trackerLayersTotallyOffOrBad(),
1218 track.hitPattern().numberOfValidStripLayersWithMonoAndStereo() +
1219 track.hitPattern().pixelLayersWithMeasurement(),
1221 track.hitPattern().pixelLayersWithMeasurement()};
1224 for (
int i = 0;
i < 4; ++
i)
1229 for (
int i = 0;
i < 5; ++
i)
1271 double stop =
track.stopReason() >
max ? double(
max - 1) : static_cast<double>(
track.stopReason());
1320 if (recoPrimaryVerticesHandle.
isValid() && !recoPrimaryVerticesHandle->empty()) {
1328 double longDCAsig = 0, transDCAsig = 0;
1329 double zerr2 =
track.dzError() *
track.dzError() +
pv.zError() *
pv.zError();
1330 double xyerr2 =
track.d0Error() *
track.d0Error() +
pv.xError() *
pv.yError();
1332 longDCAsig =
track.dz(
pv.position()) / zerr2;
1334 transDCAsig =
track.dxy(
pv.position()) / xyerr2;
1412 for (
int i = 0;
i < monQuantity::END;
i++) {
1417 mon += monQuantity::END;
1431 bool inactive =
hp.inactiveHitFilter(
pattern);
1433 hit_type =
valid ? 0 : (
missing ? 1 : (inactive ? 2 : 3));
1436 LogDebug(
"TrackAnalyzer") <<
"Invalid combination of detector and subdetector: ("
1438 <<
mon <<
"): ignoring it.\n";
1454 LogDebug(
"TrackAnalyzer") <<
"Invalid hit category used " << hit_type <<
" ignored\n";
1558 std::string histTag = (sname ==
"default") ? CategoryName : sname +
"_" + CategoryName;
1565 histname =
"Chi2oNDFVsTheta_" + histTag;
1571 histname =
"Chi2oNDFVsPhi_" + histTag;
1576 histname =
"Chi2ProbVsPhi_" + histTag;
1582 histname =
"Chi2ProbVsEta_" + histTag;
1592 histname =
"Chi2oNDFVsEta_" + histTag;
1597 histname =
"Chi2oNDFVsPt_" + histTag;
1603 histname =
"Chi2oNDFVsNHits_" + histTag;
1645 histname =
"TrackPtHighPurity_" + histTag;
1650 histname =
"TrackPtTight_" + histTag;
1655 histname =
"TrackPtLoose_" + histTag;
1665 for (
size_t ibin = 0; ibin < 3; ibin++) {
1669 histname =
"TrackPt_NegEta_Phi_btw_neg16_neg32_" + histTag;
1674 histname =
"TrackPt_NegEta_Phi_btw_0_neg16_" + histTag;
1679 histname =
"TrackPt_NegEta_Phi_btw_16_0_" + histTag;
1684 histname =
"TrackPt_NegEta_Phi_btw_32_16_" + histTag;
1689 histname =
"TrackPt_PosEta_Phi_btw_neg16_neg32_" + histTag;
1694 histname =
"TrackPt_PosEta_Phi_btw_0_neg16_" + histTag;
1699 histname =
"TrackPt_PosEta_Phi_btw_16_0_" + histTag;
1704 histname =
"TrackPt_PosEta_Phi_btw_32_16_" + histTag;
1709 histname =
"Ratio_byFolding_" + histTag;
1713 histname =
"Ratio_byFolding2_" + histTag;
1717 histname =
"TrackEtaHighpurity_" + histTag;
1722 histname =
"TrackEtaTight_" + histTag;
1727 histname =
"TrackEtaLoose_" + histTag;
1732 histname =
"TrackEtaPhiInverted_" + histTag;
1737 histname =
"TrackEtaPhiInvertedoutofphase_" + histTag;
1743 histname =
"TrackQoverP_" + histTag;
1749 histname =
"TrackEtaPhi_" + histTag;
1754 histname =
"TrackEtaPhiInner_" + histTag;
1759 histname =
"TrackEtaPhiOuter_" + histTag;
1765 histname =
"TrackTheta_" + histTag;
1775 histname =
"TrackPErrOverP_" + histTag;
1780 histname =
"TrackPtErrOverPt_" + histTag;
1785 histname =
"TrackPtErrOverPtVsEta_" + histTag;
1791 histname =
"TrackPxErrOverPx_" + histTag;
1796 histname =
"TrackPyErrOverPy_" + histTag;
1801 histname =
"TrackPzErrOverPz_" + histTag;
1806 histname =
"TrackPhiErr_" + histTag;
1811 histname =
"TrackEtaErr_" + histTag;
1818 histname =
"NumberOfRecHitsPerTrackVsPhi_" + histTag;
1825 histname =
"NumberOfRecHitsPerTrackVsTheta_" + histTag;
1831 histname =
"NumberOfRecHitsPerTrackVsEta_" + histTag;
1837 histname =
"NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1843 histname =
"NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1849 histname =
"NumberOfValidRecHitsPerTrackVsPt_" + histTag;
1856 histname =
"NumberOfLayersPerTrackVsPhi_" + histTag;
1863 histname =
"NumberOfLayersPerTrackVsTheta_" + histTag;
1869 histname =
"NumberOfLayersPerTrackVsEta_" + histTag;
1876 histname =
"Chi2oNDFVsTheta_" + histTag;
1883 histname =
"Chi2oNDFVsPhi_" + histTag;
1888 histname =
"Chi2oNDFVsEta_" + histTag;
1893 histname =
"Chi2ProbVsPhi_" + histTag;
1899 histname =
"Chi2ProbVsEta_" + histTag;
1915 double pxerror, pyerror, pzerror,
pterror, perror, phierror,
etaerror;
1919 auto phiIn =
track.innerPosition().phi();
1920 auto etaIn =
track.innerPosition().eta();
1921 auto phiOut =
track.outerPosition().phi();
1922 auto etaOut =
track.outerPosition().eta();
1924 if (sname ==
"default") {
1940 phierror =
track.phiError();
1949 if (sname ==
"OuterSurface")
1951 else if (sname ==
"InnerSurface")
1953 else if (sname ==
"ImpactPoint")
1968 double partialPterror =
1979 std::map<std::string, TkParameterMEs>::iterator iPos =
TkParameterMEMap.find(sname);
2003 if (
eta < 0. && phi < -1.6) {
2006 if (
eta < 0. && phi < 0 && phi >= -1.6) {
2009 if (
eta < 0. && phi < 1.6 && phi >= 0) {
2012 if (eta < 0. && phi >= 1.6) {
2015 if (
eta >= 0. && phi < -1.6) {
2018 if (
eta >= 0. && phi < 0 && phi >= -1.6) {
2021 if (
eta >= 0. && phi < 1.6 && phi >= 0) {
2024 if (
eta >= 0. && phi >= 1.6) {
2041 for (
int w = 1;
w < 8;
w++) {
2149 int nValidRecHits =
track.numberOfValidHits();
2160 int nLayers =
track.hitPattern().trackerLayersWithMeasurement();
2168 double chi2prob = TMath::Prob(
track.chi2(), (
int)
track.ndof());
2169 double chi2oNDF =
track.normalizedChi2();
2230 if (det ==
"PixBarrel")
2232 if (det ==
"PixEndcap")
2241 histname =
"NumberOfRecHitsPerTrack_" + det +
"_" + CategoryName;
2247 histname =
"NumberOfRecHitsPerTrackVsPhi_" + det +
"_" + CategoryName;
2254 histname =
"NumberOfRecHitsPerTrackVsEta_" + det +
"_" + CategoryName;
2261 histname =
"NumberOfRecHitsPerTrackVsPt_" + det +
"_" + CategoryName;
2268 histname =
"NumberOfLayersPerTrack_" + det +
"_" + CategoryName;
2274 histname =
"NumberOfLayersPerTrackVsPhi_" + det +
"_" + CategoryName;
2281 histname =
"NumberOfLayersPerTrackVsEta_" + det +
"_" + CategoryName;
2288 histname =
"NumberOfLayersPerTrackVsPt_" + det +
"_" + CategoryName;
2300 double phi =
track.phi();
2307 int nValidLayers = 0;
2308 int nValidRecHits = 0;
2309 int substr = it->second.detectorId;
2312 nValidLayers =
track.hitPattern().pixelBarrelLayersWithMeasurement() +
2313 track.hitPattern().pixelEndcapLayersWithMeasurement();
2314 nValidRecHits =
track.hitPattern().numberOfValidPixelBarrelHits() +
2315 track.hitPattern().numberOfValidPixelEndcapHits();
2318 nValidLayers =
track.hitPattern().stripTIBLayersWithMeasurement();
2319 nValidRecHits =
track.hitPattern().numberOfValidStripTIBHits();
2322 nValidLayers =
track.hitPattern().stripTIDLayersWithMeasurement();
2323 nValidRecHits =
track.hitPattern().numberOfValidStripTIDHits();
2326 nValidLayers =
track.hitPattern().stripTOBLayersWithMeasurement();
2327 nValidRecHits =
track.hitPattern().numberOfValidStripTOBHits();
2330 nValidLayers =
track.hitPattern().stripTECLayersWithMeasurement();
2331 nValidRecHits =
track.hitPattern().numberOfValidStripTECHits();
2334 nValidLayers =
track.hitPattern().pixelBarrelLayersWithMeasurement();
2335 nValidRecHits =
track.hitPattern().numberOfValidPixelBarrelHits();
2338 nValidLayers =
track.hitPattern().pixelEndcapLayersWithMeasurement();
2339 nValidRecHits =
track.hitPattern().numberOfValidPixelEndcapHits();
2342 nValidLayers =
track.hitPattern().stripTIBLayersWithMeasurement()
2343 +
track.hitPattern().stripTIDLayersWithMeasurement() +
2344 track.hitPattern().stripTOBLayersWithMeasurement() +
2345 track.hitPattern().stripTECLayersWithMeasurement();
2346 nValidRecHits =
track.hitPattern().numberOfValidStripTIBHits()
2347 +
track.hitPattern().numberOfValidStripTIDHits() +
2348 track.hitPattern().numberOfValidStripTOBHits() +
track.hitPattern().numberOfValidStripTECHits();
2355 it->second.NumberOfRecHitsPerTrack->Fill(nValidRecHits);
2356 it->second.NumberOfRecHitsPerTrackVsPhi->Fill(phi, nValidRecHits);
2357 it->second.NumberOfRecHitsPerTrackVsEta->Fill(
eta, nValidRecHits);
2358 it->second.NumberOfRecHitsPerTrackVsPt->Fill(
pt, nValidRecHits);
2360 it->second.NumberOfLayersPerTrack->Fill(nValidLayers);
2361 it->second.NumberOfLayersPerTrackVsPhi->Fill(phi, nValidLayers);
2362 it->second.NumberOfLayersPerTrackVsEta->Fill(
eta, nValidLayers);
2363 it->second.NumberOfLayersPerTrackVsPt->Fill(
pt, nValidLayers);
MonitorElement * DistanceOfClosestApproachErrorVsPt
ret
prodAgent to be discontinued
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * Chi2oNDFVsNHits
MonitorElement * NumberOfRecHitsPerTrackVsTheta
virtual void divide(const MonitorElement *, const MonitorElement *, double, double, const char *)
Replace entries with results of dividing num by denom.
MonitorElement * TrackPzErr
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
MonitorElement * Chi2oNDFVsPhi
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * TrackEtaPhiInvertedoutofphase
MonitorElement * NumberOfValidRecHitsPerTrack
MonitorElement * TrackPtErr
MonitorElement * xPointOfClosestApproach
void fillHistosForEfficiencyFromHitPatter(const reco::Track &track, const std::string suffix, const float monitoring, bool useInac)
MonitorElement * stoppingSourceVSphi
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * DistanceOfClosestApproachToBSdz
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * TrackPtTight
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
MonitorElement * NumberOfMIRecHitsPerTrack
MonitorElement * TrackEtaPhiOuter
float minPixelClusterCharge_
MonitorElement * DistanceOfClosestApproachError
MonitorElement * sipDzToPV
const CartesianTrajectoryError cartesianError() const
MonitorElement * Ptdist_HighPurity
MonitorElement * Chi2oNDFVsTheta
MonitorElement * Chi2Prob
bool doLayersVsPhiVsEtaPerTrack_
MonitorElement * NumberOfMORecHitsPerTrackVsPt
MonitorElement * TrackPt_PosEta_Phi_btw_32_16
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
static constexpr double CM2_TO_NANOBARN
MonitorElement * TrackEtaPhi
MonitorElement * TrackEtaTight
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())
Geom::Theta< T > theta() const
void initHisto(DQMStore::IBooker &ibooker, const edm::EventSetup &, const edm::ParameterSet &)
std::vector< Vertex > VertexCollection
collection of Vertex objects
static const std::string StopReasonName[]
MonitorElement * TrackEtaHighPurity
MonitorElement * TrackPtLoose
MonitorElement * NumberOfMORecHitVsPtVsEtaPerTrack
virtual double integral() const
get integral of bins
virtual void setCurrentFolder(std::string const &fullpath)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
TrackCharge charge() const
void bookHistosForEfficiencyFromHitPatter(DQMStore::IBooker &ibooker, const edm::EventSetup &iSetup, const std::string suffix, bool useInac)
MonitorElement * Chi2oNDFVsTheta
MonitorElement * TrackPt_NegEta_Phi_btw_16_0
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
unsigned int layer(const DetId &id) const
MonitorElement * dNhitdPt_HighPurity
MonitorElement * TrackPhi
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
MonitorElement * Ratio_byFolding
const_iterator begin(bool update=false) const
MonitorElement * dNdEta_HighPurity
static constexpr double XSEC_PIXEL_CLUSTER
MonitorElement * TrackQoverP
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
MonitorElement * NumberOfLayersPerTrack[4]
MonitorElement * TrackPxErr
MonitorElement * TrackEta
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
MonitorElement * TrackEtaPhiInverted
MonitorElement * dNdPt_HighPurity
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[5]
MonitorElement * NumberOfMIRecHitsPerTrackVsPt
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * NumberOfLayersPerTrackVsPhi
MonitorElement * Chi2ProbVsEta
void setLumi(const edm::Event &, const edm::EventSetup &iSetup)
MonitorElement * TrackPyErr
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * Chi2oNDFVsEta
unsigned int numberOfLayers(int subdet) const
MonitorElement * DistanceOfClosestApproachErrorVsDxy
MonitorElement * Chi2ProbVsPhi
Sin< T >::type sin(const T &t)
MonitorElement * Chi2ProbVsEta
MonitorElement * TrackEtaPhiInner
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
MonitorElement * DistanceOfClosestApproachToBSVsPhi
bool doRecHitVsPtVsEtaPerTrack_
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * xPointOfClosestApproachVsZ0wrt000
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
MonitorElement * NumberOfLayersPerTrackVsEta
MonitorElement * sipDzToBS
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * TrackPtHighPurity
DxyErrBin
it might need to be adjust if CMS asks to have lumi levelling at lower values
void setBX(const edm::Event &)
MonitorElement * DistanceOfClosestApproachToBSVsEta
std::array< T, N+1 > makeLogBins(const T &min, const T &max)
bool doEffFromHitPatternVsBX_
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
MonitorElement * DistanceOfClosestApproach
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
MonitorElement * NumberOfRecHitsPerTrackVsEta
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())
std::map< std::string, TkParameterMEs > TkParameterMEMap
MonitorElement * ValidFractionPerTrack
static constexpr double FREQ_ORBIT
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
MonitorElement * TrackTheta
Geom::Theta< T > theta() const
static constexpr auto TIB
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * NumberOfLayersPerTrackVsPhi
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
MonitorElement * DeltaZToPV
MonitorElement * LongDCASig
MonitorElement * zPointOfClosestApproach
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
bool doRecHitVsPhiVsEtaPerTrack_
MonitorElement * NumberOfLayersPerTrackVsTheta
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
MonitorElement * DistanceOfClosestApproachToPV
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
MonitorElement * DistanceOfClosestApproachToPVZoom
MonitorElement * TrackPhiErr
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
static const unsigned int lastBunchCrossing
MonitorElement * NumberOfLostRecHitsPerTrackVsPt
MonitorElement * stoppingSource
bool doEffFromHitPatternVsPU_
MonitorElement * sip2dToPV
MonitorElement * NumberOfLayersPerTrack
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * NumberOfLayersPerTrackVsEta
MonitorElement * stoppingSourceVSeta
MonitorElement * sipDxyToPV
std::vector< LumiScalers > LumiScalersCollection
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
MonitorElement * TransDCASig
MonitorElement * NumberOfLostRecHitVsPtVsEtaPerTrack
TrajectoryStateOnSurface impactPointState() const
MonitorElement * DeltaZToPVZoom
bool doGeneralPropertiesPlots_
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)
MonitorElement * AbsDistanceOfClosestApproachToBS
MonitorElement * yPointOfClosestApproachToPV
MonitorElement * TrackPt_PosEta_Phi_btw_16_0
MonitorElement * Chi2oNDF
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * NumberOfRecHitsPerTrackVsPhi
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
MonitorElement * sipDxyToBS
TrajectoryStateOnSurface outermostMeasurementState() const
static constexpr double rXSEC_PIXEL_CLUSTER
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * Chi2oNDFVsEta
MonitorElement * NumberOfValidRecHitsPerTrackVsPt
edm::EDGetTokenT< OnlineLuminosityRecord > metaDataToken_
std::string qualityString_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
const AlgebraicSymMatrix66 & matrix() const
MonitorElement * TrackEtaLoose
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
bool getData(T &iHolder) const
MonitorElement * Chi2oNDFVsPhi
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
static TrackQuality qualityByName(const std::string &name)
unsigned int good_vertices_
MonitorElement * TrackPtErrVsEta
MonitorElement * NumberOfValidRecHitVsPtVsEtaPerTrack
static const std::string qualityNames[]
GlobalVector globalMomentum() const
MonitorElement * TrackEtaErr
static constexpr double SECONDS_PER_LS
MonitorElement * NumberOfRecHitsPerTrackVsEta
float lumi_factor_per_bx_
void fillHistosForTrackerSpecific(const reco::Track &track)
static constexpr auto TEC
MonitorElement * TrackPt_NegEta_Phi_btw_neg16_neg32
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
const_iterator end(bool update=false) const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
virtual int getNbinsX() const
get # of bins in X-axis
const CurvilinearTrajectoryError & curvilinearError() const
MonitorElement * NhitVsEta_HighPurity
std::string monName[monQuantity::END]
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
static constexpr auto TOB
MonitorElement * DistanceOfClosestApproachErrorVsPhi
MonitorElement * NumberOfMORecHitsPerTrack
float instLumi() const
Return the luminosity for the current nibble.
T getParameter(std::string const &) const
MonitorElement * dNdPhi_HighPurity
void setNumberOfGoodVertices(const edm::Event &)
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * algorithm
bool doHitPropertiesPlots_
MonitorElement * TrackPt_PosEta_Phi_btw_neg16_neg32
reco::TransientTrack build(const reco::Track *p) const
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * NumberOfMIRecHitVsPtVsEtaPerTrack
TransDCABins
FOR HI PLOTS#####################.
MonitorElement * TrackPt_NegEta_Phi_btw_0_neg16
MonitorElement * Chi2ProbVsPhi
Abs< T >::type abs(const T &t)
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
int minNumberOfPixelsPerCluster_
edm::ParameterSet const * conf_
MonitorElement * zPointOfClosestApproachToPV
MonitorElement * sip3dToPV
MonitorElement * DistanceOfClosestApproachVsTheta
edm::EDGetTokenT< reco::VertexCollection > pvToken_
MonitorElement * DistanceOfClosestApproachVsPhi
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * Chi2oNDFVsPt
MonitorElement * NumberOfLayersPerTrackVsPt
TrackAnalyzer(const edm::ParameterSet &)
MonitorElement * DistanceOfClosestApproachVsEta
static const std::string algoNames[]
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
TrajectoryStateOnSurface TSOS
Geom::Phi< T > phi() const
Class to contain the online luminosity from soft FED 1022.
const AlgebraicSymMatrix55 & matrix() const
static constexpr auto TID
MonitorElement * TrackPt_PosEta_Phi_btw_0_neg16
MonitorElement * DistanceOfClosestApproachErrorVsEta
MonitorElement * TrackPt_NegEta_Phi_btw_32_16
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
bool doEffFromHitPatternVsLUMI_
MonitorElement * TrackPErr
MonitorElement * Ratio_byFolding2
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * NumberOfRecHitsPerTrackVsTheta
TrajectoryStateOnSurface innermostMeasurementState() const
bool doMeasurementStatePlots_
MonitorElement * NumberOfRecHitsPerTrackVsPt
const data_type * const_iterator
MonitorElement * xPointOfClosestApproachToPV