25 , doTrackerSpecific_ ( conf_.getParameter<bool>(
"doTrackerSpecific") )
26 , doAllPlots_ ( conf_.getParameter<bool>(
"doAllPlots") )
27 , doBSPlots_ ( conf_.getParameter<bool>(
"doBeamSpotPlots") )
28 , doPVPlots_ ( conf_.getParameter<bool>(
"doPrimaryVertexPlots") )
29 , doDCAPlots_ ( conf_.getParameter<bool>(
"doDCAPlots") )
30 , doGeneralPropertiesPlots_ ( conf_.getParameter<bool>(
"doGeneralPropertiesPlots") )
31 , doMeasurementStatePlots_ ( conf_.getParameter<bool>(
"doMeasurementStatePlots") )
32 , doHitPropertiesPlots_ ( conf_.getParameter<bool>(
"doHitPropertiesPlots") )
33 , doRecHitVsPhiVsEtaPerTrack_ ( conf_.getParameter<bool>(
"doRecHitVsPhiVsEtaPerTrack") )
34 , doLayersVsPhiVsEtaPerTrack_ ( conf_.getParameter<bool>(
"doLayersVsPhiVsEtaPerTrack") )
35 , doRecHitsPerTrackProfile_ ( conf_.getParameter<bool>(
"doRecHitsPerTrackProfile") )
36 , doThetaPlots_ ( conf_.getParameter<bool>(
"doThetaPlots") )
37 , doTrackPxPyPlots_ ( conf_.getParameter<bool>(
"doTrackPxPyPlots") )
38 , doDCAwrtPVPlots_ ( conf_.getParameter<bool>(
"doDCAwrtPVPlots") )
39 , doDCAwrt000Plots_ ( conf_.getParameter<bool>(
"doDCAwrt000Plots") )
40 , doLumiAnalysis_ ( conf_.getParameter<bool>(
"doLumiAnalysis") )
41 , doTestPlots_ ( conf_.getParameter<bool>(
"doTestPlots") )
42 , doHIPlots_ ( conf_.getParameter<bool>(
"doHIPlots") )
43 , doSIPPlots_ ( conf_.getParameter<bool>(
"doSIPPlots") )
44 , doEffFromHitPatternVsPU_ ( conf_.getParameter<bool>(
"doEffFromHitPatternVsPU") )
45 , doEffFromHitPatternVsBX_ ( conf_.getParameter<bool>(
"doEffFromHitPatternVsBX") )
46 , pvNDOF_ ( conf_.getParameter<int> (
"pvNDOF") )
47 , qualityString_ ( conf_.getParameter<std::
string>(
"qualityString"))
164 if (StateName ==
"All") {
169 StateName !=
"OuterSurface" &&
170 StateName !=
"InnerSurface" &&
171 StateName !=
"ImpactPoint" &&
172 StateName !=
"default"
191 int NBINS[] = { 50, 3564 };
192 float MAX[] = { 50.5, 3564.5 };
197 for (
int i=0;
i<monQuantity::END;
i++) {
210 const char * dets[] = {
"None",
"PXB",
"PXF",
"TIB",
"TID",
"TOB",
"TEC"};
216 const char * hit_category[] = {
"valid",
"missing",
"inactive",
"bad",
"total"};
220 for (
unsigned int det = 1; det <
sizeof(dets)/
sizeof(
char*); ++det ) {
221 for (
unsigned int sub_det = 1;
222 sub_det <= trackerGeometry->numberOfLayers(det); ++sub_det) {
223 for (
unsigned int cat = 0;
224 cat <
sizeof(hit_category)/
sizeof(
char *); ++
cat) {
225 memset(title, 0,
sizeof(title));
226 snprintf(title,
sizeof(title),
"Hits%s_%s_%s_Subdet%d", suffix.c_str(), hit_category[
cat], dets[det], sub_det);
230 Key(det, sub_det, mon),
231 ibooker.
book1D(title, title, nbins, 0.5, max)));
235 Key(det, sub_det, mon),
236 ibooker.
book1D(title, title, nbins, 0.5, max)));
240 Key(det, sub_det, mon),
241 ibooker.
book1D(title, title, nbins, 0.5, max)));
245 Key(det, sub_det, mon),
246 ibooker.
book1D(title, title, nbins, 0.5, max)));
250 Key(det, sub_det, mon),
251 ibooker.
book1D(title, title, nbins, 0.5, max)));
254 LogDebug(
"TrackAnalyzer") <<
"Invalid hit category used " <<
cat <<
" ignored\n";
316 histname =
"NumberOfRecHitsPerTrack_";
321 histname =
"NumberOfValidRecHitsPerTrack_";
326 histname =
"NumberOfLostRecHitsPerTrack_";
331 histname =
"NumberOfMissingInnerRecHitsPerTrack_";
336 histname =
"NumberOfMissingOuterRecHitsPerTrack_";
341 histname =
"ValidFractionPerTrack_";
350 histname =
"NumberOfValidRecHitVsPhiVsEtaPerTrack_";
352 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40.,
"");
356 histname =
"NumberOfLostRecHitVsPhiVsEtaPerTrack_";
358 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 5.,
"");
363 histname =
"NumberMIRecHitVsPhiVsEtaPerTrack_";
365 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 15.,
"");
369 histname =
"NumberMORecHitVsPhiVsEtaPerTrack_";
371 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 15.,
"");
375 histname =
"ValidFractionVsPhiVsEtaPerTrack_";
377 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 2.,
"");
384 std::string layerTypeName[4] = {
"",
"Off",
"3D",
"Missing"};
385 for (
int i=0;
i<4; ++
i) {
386 histname =
"NumberOf"+ layerTypeName[
i] +
"LayersPerTrack_";
392 for (
int i=0;
i<4; ++
i) {
393 histname =
"NumberOf"+ layerTypeName[
i] +
"LayersVsPhiVsEtaPerTrack_";
395 EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40.,
"");
434 Chi2->setAxisTitle(
"Track #chi^{2}" ,1);
435 Chi2->setAxisTitle(
"Number of Tracks",2);
498 histname =
"xPointOfClosestApproach_";
503 histname =
"yPointOfClosestApproach_";
508 histname =
"zPointOfClosestApproach_";
513 histname =
"xPointOfClosestApproachToPV_";
518 histname =
"yPointOfClosestApproachToPV_";
523 histname =
"zPointOfClosestApproachToPV_";
547 std::vector<std::string> StopReasonName = {
"UNINITIALIZED",
"MAX_HITS",
"MAX_LOST_HITS",
"MAX_CONSECUTIVE_LOST_HITS",
"LOST_HIT_FRACTION",
"MIN_PT",
"CHARGE_SIGNIFICANCE",
"LOOPER",
"MAX_CCC_LOST_HITS",
"NO_SEGMENTS_FOR_VALID_LAYERS",
"NOT_STOPPED" };
564 for (
size_t ibin=0; ibin<StopReasonName.size(); ibin++) {
600 histname =
"NumberOfRecHitsPerTrack_lumiFlag_";
658 histname =
"DistanceOfClosestApproachToBS_";
663 histname =
"AbsDistanceOfClosestApproachToBS_";
668 histname =
"DistanceOfClosestApproachToBSVsPhi_";
674 histname =
"xPointOfClosestApproachVsZ0wrt000_";
679 histname =
"yPointOfClosestApproachVsZ0wrt000_";
684 histname =
"xPointOfClosestApproachVsZ0wrtBS_";
689 histname =
"yPointOfClosestApproachVsZ0wrtBS_";
694 histname =
"zPointOfClosestApproachVsPhi_";
724 histname =
"DistanceOfClosestApproachToPV_";
729 histname =
"DistanceOfClosestApproachToPVVsPhi_";
735 histname =
"xPointOfClosestApproachVsZ0wrtPV_";
740 histname =
"yPointOfClosestApproachVsZ0wrtPV_";
758 histname =
"TESTDistanceOfClosestApproachToBS_";
763 histname =
"TESTDistanceOfClosestApproachToBSVsPhi_";
797 histname =
"DistanceOfClosestApproachVsTheta_";
803 histname =
"DistanceOfClosestApproachVsEta_";
809 histname =
"DistanceOfClosestApproach_";
814 histname =
"DistanceOfClosestApproachVsPhi_";
824 const double sipBins = 200;
825 const double sipMin = -20;
826 const double sipMax = 20;
872 if (recoPrimaryVerticesHandle.
isValid())
873 if (recoPrimaryVerticesHandle->size() > 0)
874 for (
auto v : *recoPrimaryVerticesHandle)
899 double chi2prob = TMath::Prob(track.
chi2(),(int)track.
ndof());
966 double stop = track.
stopReason() > max ? double(max-1) :
static_cast<double>(track.
stopReason());
1005 if (recoPrimaryVerticesHandle.
isValid() && recoPrimaryVerticesHandle->size() > 0) {
1015 double longDCAsig = 0, transDCAsig = 0;
1018 if(zerr2 > 0) longDCAsig = track.
dz(pv.
position())/zerr2;
1019 if(xyerr2 > 0) transDCAsig = track.
dxy(pv.
position())/xyerr2;
1056 if(ip3d.first)
sip3dToPV->
Fill(ip3d.second.value() / ip3d.second.error());
1057 if(ip2d.first)
sip2dToPV->
Fill(ip2d.second.value() / ip2d.second.error());
1082 if (StateName ==
"All") {
1087 StateName !=
"OuterSurface" &&
1088 StateName !=
"InnerSurface" &&
1089 StateName !=
"ImpactPoint" &&
1090 StateName !=
"default"
1108 for (
int i=0;
i<monQuantity::END;
i++) {
1112 if (track.
pt() > 1.0 && track.
dxy() < 0.1 and monitoring > 0) {
1121 bool valid =
hp.validHitFilter(
pattern);
1123 bool inactive =
hp.inactiveHitFilter(
pattern);
1125 hit_type = valid ? 0 :
1127 ( inactive ? 2 : 3));
1129 LogDebug(
"TrackAnalyzer") <<
"Invalid combination of detector and subdetector: ("
1132 <<
"): ignoring it.\n";
1151 LogDebug(
"TrackAnalyzer") <<
"Invalid hit category used " << hit_type <<
" ignored\n";
1257 std::string histTag = (sname ==
"default") ? CategoryName : sname +
"_" + CategoryName;
1265 histname =
"Chi2oNDFVsTheta_" + histTag;
1270 histname =
"Chi2oNDFVsPhi_" + histTag;
1275 histname =
"Chi2oNDFVsEta_" + histTag;
1280 histname =
"Chi2ProbVsPhi_" + histTag;
1285 histname =
"Chi2ProbVsEta_" + histTag;
1331 histname =
"TrackEtaPhi_" + histTag;
1336 histname =
"TrackEtaPhiInner_" + histTag;
1341 histname =
"TrackEtaPhiOuter_" + histTag;
1349 histname =
"TrackTheta_" + histTag;
1359 histname =
"TrackPErrOverP_" + histTag;
1364 histname =
"TrackPtErrOverPt_" + histTag;
1369 histname =
"TrackPtErrOverPtVsEta_" + histTag;
1375 histname =
"TrackPxErrOverPx_" + histTag;
1380 histname =
"TrackPyErrOverPy_" + histTag;
1385 histname =
"TrackPzErrOverPz_" + histTag;
1390 histname =
"TrackPhiErr_" + histTag;
1395 histname =
"TrackEtaErr_" + histTag;
1402 histname =
"NumberOfRecHitsPerTrackVsPhi_" + histTag;
1408 histname =
"NumberOfRecHitsPerTrackVsTheta_" + histTag;
1413 histname =
"NumberOfRecHitsPerTrackVsEta_" + histTag;
1418 histname =
"NumberOfValidRecHitsPerTrackVsPhi_" + histTag;
1424 histname =
"NumberOfValidRecHitsPerTrackVsEta_" + histTag;
1430 histname =
"NumberOfLayersPerTrackVsPhi_" + histTag;
1436 histname =
"NumberOfLayersPerTrackVsTheta_" + histTag;
1441 histname =
"NumberOfLayersPerTrackVsEta_" + histTag;
1447 histname =
"Chi2oNDFVsTheta_" + histTag;
1453 histname =
"Chi2oNDFVsPhi_" + histTag;
1458 histname =
"Chi2oNDFVsEta_" + histTag;
1463 histname =
"Chi2ProbVsPhi_" + histTag;
1468 histname =
"Chi2ProbVsEta_" + histTag;
1486 double pxerror, pyerror, pzerror, pterror, perror, phierror,
etaerror;
1494 if (sname ==
"default") {
1502 theta = track.
theta();
1549 std::map<std::string, TkParameterMEs>::iterator iPos =
TkParameterMEMap.find(sname);
1607 double chi2prob = TMath::Prob(track.
chi2(),(int)track.
ndof());
1654 for (
auto det : subdetectors ) {
1671 histname =
"NumberOfRecHitsPerTrack_" + det +
"_" + CategoryName;
1676 histname =
"NumberOfRecHitsPerTrackVsPhi_" + det +
"_" + CategoryName;
1681 histname =
"NumberOfRecHitsPerTrackVsEta_" + det +
"_" + CategoryName;
1686 histname =
"NumberOfLayersPerTrack_" + det +
"_" + CategoryName;
1691 histname =
"NumberOfLayersPerTrackVsPhi_" + det +
"_" + CategoryName;
1696 histname =
"NumberOfLayersPerTrackVsEta_" + det +
"_" + CategoryName;
1713 double phi = track.
phi();
1714 double eta = track.
eta();
1719 int nValidLayers = 0;
1720 int nValidRecHits = 0;
1721 int substr = it->second.detectorId;
1752 it->second.NumberOfRecHitsPerTrack ->
Fill(nValidRecHits);
1753 it->second.NumberOfRecHitsPerTrackVsPhi ->
Fill(phi, nValidRecHits);
1754 it->second.NumberOfRecHitsPerTrackVsEta ->
Fill(eta, nValidRecHits);
1756 it->second.NumberOfLayersPerTrack ->
Fill(nValidLayers);
1757 it->second.NumberOfLayersPerTrackVsPhi ->
Fill(phi, nValidLayers);
1758 it->second.NumberOfLayersPerTrackVsEta ->
Fill(eta, nValidLayers);
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * stoppingSourceVSphi
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * Chi2ProbVsPhi
double p() const
momentum vector magnitude
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
MonitorElement * NumberOfLayersPerTrackVsPhi
int stripTOBLayersWithMeasurement() const
T getParameter(std::string const &) const
MonitorElement * TrackEtaPhi
MonitorElement * DistanceOfClosestApproachToPVVsPhi
const Point & referencePoint() const
Reference point on the track.
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * ValidFractionVsPhiVsEtaPerTrack
MonitorElement * TrackPErr
double d0Error() const
error on d0
MonitorElement * dNhitdPt_HighPurity
void fillHistosForTrackerSpecific(const reco::Track &track)
MonitorElement * NumberOfRecHitsPerTrackVsEta
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_valid_
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
MonitorElement * stoppingSourceVSeta
TrackCharge charge() const
double validFraction() const
fraction of valid hits on the track
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_bad_
MonitorElement * NumberOfValidRecHitsPerTrack
int stripTIBLayersWithMeasurement() const
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double zError() const
error on z
MonitorElement * Chi2oNDF_lumiFlag
double theta() const
polar angle
double dxyError() const
error on dxy
MonitorElement * xPointOfClosestApproachToPV
const CurvilinearTrajectoryError & curvilinearError() const
MonitorElement * TrackEta
MonitorElement * TrackPtErr
MonitorElement * sip3dToPV
Sin< T >::type sin(const T &t)
MonitorElement * NumberOfLostRecHitsPerTrack
MonitorElement * TrackPyErr
uint8_t stopReason() const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
Geom::Phi< T > phi() const
const CartesianTrajectoryError cartesianError() const
Geom::Theta< T > theta() const
bool doGeneralPropertiesPlots_
double etaError() const
error on eta
MonitorElement * Chi2oNDFVsPhi
int bunchCrossing() const
MonitorElement * Chi2ProbVsPhi
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 * DistanceOfClosestApproachVsPhi
double phi() const
azimuthal angle of momentum vector
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
std::vector< Vertex > VertexCollection
collection of Vertex objects
bool doEffFromHitPatternVsBX_
MonitorElement * sipDzToBS
std::map< std::string, TkParameterMEs > TkParameterMEMap
MonitorElement * NumberOfLayersPerTrack[4]
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * algorithm
double px() const
x coordinate of momentum vector
int pixelLayersWithMeasurement() const
bool doHitPropertiesPlots_
MonitorElement * DistanceOfClosestApproach
const math::XYZPoint & outerPosition() const
position of the outermost hit
bool doRecHitVsPhiVsEtaPerTrack_
MonitorElement * NumberOfLayersPerTrackVsTheta
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
int trackerLayersWithMeasurement() const
const Point & position() const
position
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
int pixelEndcapLayersWithMeasurement() const
int numberOfValidStripTOBHits() const
bool doMeasurementStatePlots_
TrajectoryStateOnSurface innermostMeasurementState() const
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * Ptdist_HighPurity
int numberOfLostTrackerHits(HitCategory category) const
Geom::Theta< T > theta() const
const math::XYZPoint & innerPosition() const
position of the innermost hit
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[4]
TrackAlgorithm algo() const
void disableSoftReset(MonitorElement *me)
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_total_
MonitorElement * Chi2oNDFVsEta
MonitorElement * TransDCASig
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrt000
double eta() const
pseudorapidity of momentum vector
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
std::string qualityString_
int trackerLayersTotallyOffOrBad() const
int numberOfValidPixelBarrelHits() const
bool doEffFromHitPatternVsPU_
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDFVsTheta
double chi2() const
chi-squared of the fit
MonitorElement * NumberOfMIRecHitsPerTrack
MonitorElement * bookProfile2D(Args &&...args)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double ndof() const
number of degrees of freedom of the fit
int stripTIDLayersWithMeasurement() const
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * NumberOfRecHitsPerTrackVsPhi
double pt() const
track transverse momentum
MonitorElement * dNdPt_HighPurity
void setBX(const edm::Event &)
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
double phiError() const
error on phi
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * dNdPhi_HighPurity
MonitorElement * book1D(Args &&...args)
Abs< T >::type abs(const T &t)
int numberOfValidStripTIDHits() const
MonitorElement * yPointOfClosestApproachToPV
const double EtaMin[kNumberCalorimeter]
MonitorElement * NumberOfRecHitsPerTrackVsEta
unsigned short numberOfValidHits() const
number of valid hits found
int numberOfValidStripTECHits() const
MonitorElement * sip2dToPV
void softReset(MonitorElement *me)
MonitorElement * Chi2oNDFVsTheta
TrajectoryStateOnSurface outermostMeasurementState() const
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_inactive_
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * TrackEtaErr
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
MonitorElement * TrackPxErr
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
const AlgebraicSymMatrix66 & matrix() const
double pz() const
z coordinate of momentum vector
MonitorElement * TrackPzErr
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
MonitorElement * NumberOfLayersPerTrackVsEta
double dzError() const
error on dz
MonitorElement * dNdEta_HighPurity
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * TrackPhiErr
double vz() const
z coordinate of the reference point on track
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
MonitorElement * stoppingSource
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
TrackAlgorithm originalAlgo() const
TrajectoryStateOnSurface TSOS
static TrackQuality qualityByName(const std::string &name)
double xError() const
error on x
MonitorElement * NumberOfLayersPerTrackVsEta
void setCurrentFolder(const std::string &fullpath)
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
MonitorElement * sipDxyToPV
MonitorElement * book2D(Args &&...args)
virtual void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
void fillHistosForEfficiencyFromHitPatter(const reco::Track &track, const std::string suffix, const unsigned int monitoring)
std::unordered_map< Key, MonitorElement *, KeyHasher > hits_missing_
int pixelBarrelLayersWithMeasurement() const
MonitorElement * DistanceOfClosestApproachVsTheta
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
MonitorElement * Chi2ProbVsEta
int numberOfValidStripTIBHits() const
MonitorElement * TrackPhi
static const std::string algoNames[]
bool quality(const TrackQuality) const
Track quality.
int numberOfValidPixelEndcapHits() const
MonitorElement * zPointOfClosestApproachToPV
int trackerLayersWithoutMeasurement(HitCategory category) const
MonitorElement * DistanceOfClosestApproachToPV
double vy() const
y coordinate of the reference point on track
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
MonitorElement * NumberOfLayersPerTrack
MonitorElement * DistanceOfClosestApproachToBSVsPhi
bool doLayersVsPhiVsEtaPerTrack_
MonitorElement * ValidFractionPerTrack
MonitorElement * NhitVsEta_HighPurity
void doSoftReset(DQMStore *dqmStore_)
int getNbinsX(void) const
get # of bins in X-axis
int stripTECLayersWithMeasurement() const
MonitorElement * yPointOfClosestApproachVsZ0wrt000
unsigned int good_vertices_
MonitorElement * TrackPtErrVsEta
MonitorElement * TESTDistanceOfClosestApproachToBS
virtual void initHisto(DQMStore::IBooker &ibooker, const edm::EventSetup &)
MonitorElement * NumberOfRecHitsPerTrackVsEta
int charge() const
track electric charge
const Point & position() const
position
TrajectoryStateOnSurface impactPointState() const
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
MonitorElement * yPointOfClosestApproach
void Reset(std::vector< TH2F > &depth)
MonitorElement * Chi2Prob
MonitorElement * TrackEtaPhiOuter
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
void setNumberOfGoodVertices(const edm::Event &)
void bookHistosForEfficiencyFromHitPatter(DQMStore::IBooker &ibooker, const edm::EventSetup &iSetup, const std::string suffix)
MonitorElement * AbsDistanceOfClosestApproachToBS
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
MonitorElement * TrackTheta
MonitorElement * zPointOfClosestApproach
TrackAnalyzer(const edm::ParameterSet &)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * Chi2ProbVsEta
MonitorElement * TrackEtaPhiInner
MonitorElement * DistanceOfClosestApproachToBS
std::string monName[monQuantity::END]
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * Chi2oNDF
double yError() const
error on y
MonitorElement * Chi2oNDFVsEta
double py() const
y coordinate of momentum vector
double vx() const
x coordinate of the reference point on track
void undoSoftReset(DQMStore *dqmStore_)
int numberOfHits(HitCategory category) const
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMORecHitsPerTrack
MonitorElement * NumberOfLayersPerTrackVsPhi
MonitorElement * LongDCASig
edm::EDGetTokenT< reco::VertexCollection > pvToken_
MonitorElement * Chi2oNDFVsPhi