27 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"combined"));
29 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"csc"));
31 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"dt"));
48 for (
unsigned int i = 0;
i < 4;
i++) {
74 ibooker.
book1D(
"hMuonTimeTimeAtIpInOutErr",
"MuonTime TimeAtIpInOutErr", 100, 0., 8.);
77 ibooker.
book1D(
"hMuonTimeTimeAtIpOutInErr",
"MuonTime TimeAtIpOutInErr", 100, 0., 8.);
79 ibooker.
book1D(
"hMuonTimeExtraCombinedNDOF",
"MuonTimeExtra Combined NDOF", 52, -1.5, 50.5);
81 ibooker.
book1D(
"hMuonTimeExtraCombinedTimeAtIpInOut",
"MuonTimeExtra Combined TimeAtIpInOut", 100, -20., 20.);
83 "hMuonTimeExtraCombinedTimeAtIpInOutErr",
"MuonTimeExtra Combined TimeAtIpInOutErr", 100, 0., 8.);
85 ibooker.
book1D(
"hMuonTimeExtraCombinedTimeAtIpOutIn",
"MuonTimeExtra Combined TimeAtIpOutIn", 100, -1., 75.);
87 "hMuonTimeExtraCombinedTimeAtIpOutInErr",
"MuonTimeExtra Combined TimeAtIpOutInErr", 100, 0., 8.);
90 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpInOut",
"MuonTimeExtra CSC TimeAtIpInOut", 100, -20., 20.);
92 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpInOutErr",
"MuonTimeExtra CSC TimeAtIpInOutErr", 100, 0., 8.);
94 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpOutIn",
"MuonTimeExtra CSC TimeAtIpOutIn", 100, -1., 75.);
96 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpOutInErr",
"MuonTimeExtra CSC TimeAtIpOutInErr", 100, 0., 8.);
99 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpInOut",
"MuonTimeExtra DT TimeAtIpInOut", 100, -20., 20.);
101 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpInOutErr",
"MuonTimeExtra DT TimeAtIpInOutErr", 100, 0., 8.);
103 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpOutIn",
"MuonTimeExtra DT TimeAtIpOutIn", 100, -1., 75.);
105 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpOutInErr",
"MuonTimeExtra DT TimeAtIpOutInErr", 100, 0., 8.);
108 hCaloCompat[
i] = ibooker.
book1D(
"hCaloCompat",
"Calo Compatibility", 101, -0.05, 1.05);
112 "hCaloSegmentCompat",
"Calo Compatibility vs. Segment Compatibility", 101, -0.05, 1.05, 101, -0.05, 1.05);
117 ibooker.
book1D(
"hGlobalMuonPromptTightBool",
"GlobalMuonPromptTight Boolean", 2, -0.5, 1.5);
121 ibooker.
book1D(
"hTM2DCompatibilityLooseBool",
"TM2DCompatibilityLoose Boolean", 2, -0.5, 1.5);
123 ibooker.
book1D(
"hTM2DCompatibilityTightBool",
"TM2DCompatibilityTight Boolean", 2, -0.5, 1.5);
127 "hTMLastStationOptimizedLowPtLooseBool",
"TMLastStationOptimizedLowPtLoose Boolean", 2, -0.5, 1.5);
129 "hTMLastStationOptimizedLowPtTightBool",
"TMLastStationOptimizedLowPtTight Boolean", 2, -0.5, 1.5);
131 ibooker.
book1D(
"hGMTkChiCompatibilityBool",
"GMTkChiCompatibility Boolean", 2, -0.5, 1.5);
133 ibooker.
book1D(
"hGMStaChiCompatibilityBool",
"GMStaChiCompatibility Boolean", 2, -0.5, 1.5);
136 ibooker.
book1D(
"hTMLastStationAngLooseBool",
"TMLastStationAngLoose Boolean", 2, -0.5, 1.5);
138 ibooker.
book1D(
"hTMLastStationAngTightBool",
"TMLastStationAngTight Boolean", 2, -0.5, 1.5);
140 ibooker.
book1D(
"hTMOneStationAngLooseBool",
"TMOneStationAngLoose Boolean", 2, -0.5, 1.5);
142 ibooker.
book1D(
"hTMOneStationAngTightBool",
"TMOneStationAngTight Boolean", 2, -0.5, 1.5);
144 "hTMLastStationOptimizedBarrelLowPtLooseBool",
"TMLastStationOptimizedBarrelLowPtLoose Boolean", 2, -0.5, 1.5);
146 "hTMLastStationOptimizedBarrelLowPtTightBool",
"TMLastStationOptimizedBarrelLowPtTight Boolean", 2, -0.5, 1.5);
150 ibooker.
book1D(
"hCombinedCosmicCompat",
"hCombinedCosmicCompatibility float", 40, 0., 10.);
159 sprintf(name,
"hMuonShowerSizeT%i",
station + 1);
160 sprintf(title,
"Station %i Transverse Cluster Size",
station + 1);
162 sprintf(name,
"hMuonShowerDeltaR%i",
station + 1);
163 sprintf(title,
"Station %i DeltaR",
station + 1);
165 sprintf(name,
"hMuonAllHits%i",
station + 1);
166 sprintf(title,
"Station %i Number of 1D DT or 2D CSC RecHits",
station + 1);
168 sprintf(name,
"hMuonHitsFromSegments%i",
station + 1);
169 sprintf(title,
"Station %i Hits used by 4D DT or 3D CSC Segments",
station + 1);
171 sprintf(name,
"hMuonUncorrelatedHits%i",
station + 1);
172 sprintf(title,
"Station %i Uncorrelated Hits",
station + 1);
176 sprintf(name,
"hDT%iPullxPropErr",
station + 1);
177 sprintf(title,
"DT Station %i Pull X w/ Propagation Error Only",
station + 1);
180 sprintf(name,
"hDT%iPulldXdZPropErr",
station + 1);
181 sprintf(title,
"DT Station %i Pull DxDz w/ Propagation Error Only",
station + 1);
185 sprintf(name,
"hDT%iPullyPropErr",
station + 1);
186 sprintf(title,
"DT Station %i Pull Y w/ Propagation Error Only",
station + 1);
189 sprintf(name,
"hDT%iPulldYdZPropErr",
station + 1);
190 sprintf(title,
"DT Station %i Pull DyDz w/ Propagation Error Only",
station + 1);
194 sprintf(name,
"hDT%iDistWithSegment",
station + 1);
195 sprintf(title,
"DT Station %i Dist When There Is A Segment",
station + 1);
198 sprintf(name,
"hDT%iDistWithNoSegment",
station + 1);
199 sprintf(title,
"DT Station %i Dist When There Is No Segment",
station + 1);
202 sprintf(name,
"hDT%iPullDistWithSegment",
station + 1);
203 sprintf(title,
"DT Station %i Pull Dist When There Is A Segment",
station + 1);
206 sprintf(name,
"hDT%iPullDistWithNoSegment",
station + 1);
207 sprintf(title,
"DT Station %i Pull Dist When There Is No Segment",
station + 1);
210 sprintf(name,
"hCSC%iPullxPropErr",
station + 1);
211 sprintf(title,
"CSC Station %i Pull X w/ Propagation Error Only",
station + 1);
214 sprintf(name,
"hCSC%iPulldXdZPropErr",
station + 1);
215 sprintf(title,
"CSC Station %i Pull DxDz w/ Propagation Error Only",
station + 1);
218 sprintf(name,
"hCSC%iPullyPropErr",
station + 1);
219 sprintf(title,
"CSC Station %i Pull Y w/ Propagation Error Only",
station + 1);
222 sprintf(name,
"hCSC%iPulldYdZPropErr",
station + 1);
223 sprintf(title,
"CSC Station %i Pull DyDz w/ Propagation Error Only",
station + 1);
226 sprintf(name,
"hCSC%iDistWithSegment",
station + 1);
227 sprintf(title,
"CSC Station %i Dist When There Is A Segment",
station + 1);
230 sprintf(name,
"hCSC%iDistWithNoSegment",
station + 1);
231 sprintf(title,
"CSC Station %i Dist When There Is No Segment",
station + 1);
234 sprintf(name,
"hCSC%iPullDistWithSegment",
station + 1);
235 sprintf(title,
"CSC Station %i Pull Dist When There Is A Segment",
station + 1);
238 sprintf(name,
"hCSC%iPullDistWithNoSegment",
station + 1);
239 sprintf(title,
"CSC Station %i Pull Dist When There Is No Segment",
station + 1);
247 ibooker.
book2D(
"hSegmentIsAssociatedRZ",
"R-Z of Associated Segments", 2140, -1070., 1070., 850, 0., 850.);
249 ibooker.
book2D(
"hSegmentIsAssociatedXY",
"X-Y of Associated Segments", 1700, -850., 850., 1700, -850., 850.);
251 "hSegmentIsNotAssociatedRZ",
"R-Z of Not Associated Segments", 2140, -1070., 1070., 850, 0., 850.);
253 "hSegmentIsNotAssociatedXY",
"X-Y of Not Associated Segments", 1700, -850., 850., 1700, -850., 850.);
255 "R-Z of Best in Station by #DeltaR Associated Segments",
263 "X-Y of Best in Station by #DeltaR Associated Segments",
271 "R-Z of Best in Station by #DeltaR Not Associated Segments",
279 "X-Y of Best in Station by #DeltaR Not Associated Segments",
296 for (
int sector = 0; sector < 14; ++sector) {
297 sprintf(name,
"hDTChamberDx_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
298 sprintf(title,
"DT Chamber Delta X: Station %i Wheel %i Sector %i",
station + 1,
wheel - 2, sector + 1);
302 sprintf(name,
"hDTChamberDy_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
303 sprintf(title,
"DT Chamber Delta Y: Station %i Wheel %i Sector %i",
station + 1,
wheel - 2, sector + 1);
307 sprintf(name,
"hDTChamberEdgeXWithSegment_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
309 "DT Chamber Edge X When There Is A Segment: Station %i Wheel " 316 sprintf(name,
"hDTChamberEdgeXWithNoSegment_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
318 "DT Chamber Edge X When There Is No Segment: Station %i " 319 "Wheel %i Sector %i",
325 sprintf(name,
"hDTChamberEdgeYWithSegment_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
327 "DT Chamber Edge Y When There Is A Segment: Station %i Wheel " 334 sprintf(name,
"hDTChamberEdgeYWithNoSegment_%i_%i_%i",
station + 1,
wheel - 2, sector + 1);
336 "DT Chamber Edge Y When There Is No Segment: Station %i " 337 "Wheel %i Sector %i",
353 "CSC Chamber Delta X: Endcap %i Station %i Ring %i Chamber %i",
362 "CSC Chamber Delta Y: Endcap %i Station %i Ring %i Chamber %i",
371 "CSC Chamber Edge X When There Is A Segment: Endcap %i " 372 "Station %i Ring %i Chamber %i",
381 "CSC Chamber Edge X When There Is No Segment: Endcap %i " 382 "Station %i Ring %i Chamber %i",
391 "CSC Chamber Edge Y When There Is A Segment: Endcap %i " 392 "Station %i Ring %i Chamber %i",
401 "CSC Chamber Edge Y When There Is No Segment: Endcap %i " 402 "Station %i Ring %i Chamber %i",
417 using namespace reco;
434 for (
unsigned int i = 0;
i < 4;
i++) {
446 if (fabs(
muon->eta()) > 1.479)
451 if (fabs(
muon->eta()) > 1.4)
456 if (fabs(
muon->eta()) < 1.26)
461 if (
muon->isTimeValid()) {
470 MuonTimeExtra combinedMuonTimeExtra = (*combinedMuonTimeExtraValueMapH_)[muonRef];
471 MuonTimeExtra cscMuonTimeExtra = (*cscMuonTimeExtraValueMapH_)[muonRef];
472 MuonTimeExtra dtMuonTimeExtra = (*dtMuonTimeExtraValueMapH_)[muonRef];
491 if (
muon->isCaloCompatibilityValid())
496 if (
muon->isQualityValid()) {
598 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
599 chamberMatch !=
muon->matches().end();
601 int station = chamberMatch->station();
605 int wheel = dtId.wheel();
606 int sector = dtId.sector();
608 if (chamberMatch->segmentMatches.empty()) {
615 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
616 segmentMatch != chamberMatch->segmentMatches.end();
618 if (segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR)) {
619 Fill(
hDTChamberDx[station - 1][wheel + 2][sector - 1], chamberMatch->x - segmentMatch->x);
621 Fill(
hDTChamberDy[station - 1][wheel + 2][sector - 1], chamberMatch->y - segmentMatch->y);
631 CSCDetId cscId(chamberMatch->id.rawId());
632 int endcap = cscId.endcap();
633 int ring = cscId.ring();
636 if (chamberMatch->segmentMatches.empty()) {
643 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
644 segmentMatch != chamberMatch->segmentMatches.end();
646 if (segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR)) {
647 Fill(
hCSCChamberDx[endcap - 1][station - 1][ring - 1][chamber - 1], chamberMatch->x - segmentMatch->x);
648 Fill(
hCSCChamberDy[endcap - 1][station - 1][ring - 1][chamber - 1], chamberMatch->y - segmentMatch->y);
665 LocalPoint segmentLocalPosition = segment->localPosition();
666 LocalVector segmentLocalDirection = segment->localDirection();
667 LocalError segmentLocalPositionError = segment->localPositionError();
668 LocalError segmentLocalDirectionError = segment->localDirectionError();
671 bool segmentFound =
false;
672 bool segmentBestDrFound =
false;
675 if (!
muon->isMatchesValid())
678 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
679 chamberMatch !=
muon->matches().end();
681 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
682 segmentMatch != chamberMatch->segmentMatches.end();
684 if (fabs(segmentMatch->x - segmentLocalPosition.
x()) < 1E-6 &&
685 fabs(segmentMatch->y - segmentLocalPosition.
y()) < 1E-6 &&
686 fabs(segmentMatch->dXdZ - segmentLocalDirection.
x() / segmentLocalDirection.
z()) < 1E-6 &&
687 fabs(segmentMatch->dYdZ - segmentLocalDirection.
y() / segmentLocalDirection.
z()) < 1E-6 &&
688 fabs(segmentMatch->xErr -
sqrt(segmentLocalPositionError.
xx())) < 1E-6 &&
689 fabs(segmentMatch->yErr -
sqrt(segmentLocalPositionError.
yy())) < 1E-6 &&
690 fabs(segmentMatch->dXdZErr -
sqrt(segmentLocalDirectionError.
xx())) < 1E-6 &&
691 fabs(segmentMatch->dYdZErr -
sqrt(segmentLocalDirectionError.
yy())) < 1E-6) {
694 segmentBestDrFound =
true;
709 if (segmentBestDrFound) {
724 LocalPoint segmentLocalPosition = segment->localPosition();
725 LocalVector segmentLocalDirection = segment->localDirection();
726 LocalError segmentLocalPositionError = segment->localPositionError();
727 LocalError segmentLocalDirectionError = segment->localDirectionError();
730 bool segmentFound =
false;
731 bool segmentBestDrFound =
false;
734 if (!
muon->isMatchesValid())
737 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
738 chamberMatch !=
muon->matches().end();
740 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
741 segmentMatch != chamberMatch->segmentMatches.end();
743 if (fabs(segmentMatch->x - segmentLocalPosition.
x()) < 1E-6 &&
744 fabs(segmentMatch->y - segmentLocalPosition.
y()) < 1E-6 &&
745 fabs(segmentMatch->dXdZ - segmentLocalDirection.
x() / segmentLocalDirection.
z()) < 1E-6 &&
746 fabs(segmentMatch->dYdZ - segmentLocalDirection.
y() / segmentLocalDirection.
z()) < 1E-6 &&
747 fabs(segmentMatch->xErr -
sqrt(segmentLocalPositionError.
xx())) < 1E-6 &&
748 fabs(segmentMatch->yErr -
sqrt(segmentLocalPositionError.
yy())) < 1E-6 &&
749 fabs(segmentMatch->dXdZErr -
sqrt(segmentLocalDirectionError.
xx())) < 1E-6 &&
750 fabs(segmentMatch->dYdZErr -
sqrt(segmentLocalDirectionError.
yy())) < 1E-6) {
753 segmentBestDrFound =
true;
768 if (segmentBestDrFound) {
782 if (fabs(f) > 900000)
T getParameter(std::string const &) const
MonitorElement * hDTChamberEdgeXWithSegment[4][5][14]
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * hMuonAllHits[4][4]
edm::EDGetTokenT< CSCSegmentCollection > inputCSCSegmentCollectionToken_
MonitorElement * hDTDistWithNoSegment[4][4]
MonitorElement * hMuonTimeExtraDTTimeAtIpInOut[4]
MonitorElement * hDTDistWithSegment[4][4]
bool makeShowerInformationPlots_
MonitorElement * hCSCChamberEdgeXWithNoSegment[2][4][4][36]
MonitorElement * hDTPulldYdZPropErr[4][3]
MonitorElement * hDTChamberEdgeXWithNoSegment[4][5][14]
MonitorElement * hSegmentCompat[4]
MonitorElement * hMuonTimeTimeAtIpInOut[4]
MonitorElement * hMuonTimeTimeAtIpOutIn[4]
edm::Handle< reco::MuonTimeExtraMap > cscMuonTimeExtraValueMapH_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * hSegmentIsAssociatedXY
edm::EDGetTokenT< reco::MuonCollection > inputMuonCollectionToken_
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * hTMLastStationOptimizedLowPtLooseBool[4]
MonitorElement * hTMLastStationLooseBool[4]
MonitorElement * hMuonUncorrelatedHits[4][4]
MonitorElement * hEnergyHAEndcap[4]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * hDTPullDistWithNoSegment[4][4]
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
MonitorElement * hCSCChamberEdgeYWithNoSegment[2][4][4][36]
edm::EDGetTokenT< edm::ValueMap< reco::MuonCosmicCompatibility > > inputMuonCosmicCompatibilityValueMapToken_
MonitorElement * hSegmentIsBestDrNotAssociatedRZ
MonitorElement * hMuonTimeExtraCombinedTimeAtIpInOutErr[4]
MonitorElement * hMuonTimeTimeAtIpInOutErr[4]
MonitorElement * hB2BCosmicCompat[4]
virtual void Fill(MonitorElement *, float)
edm::Handle< DTRecSegment4DCollection > dtSegmentCollectionH_
MonitorElement * hCSCChamberDy[2][4][4][36]
edm::InputTag inputMuonTimeExtraValueMap_
MonitorElement * hEnergyEMEndcap[4]
MonitorElement * hTMLastStationOptimizedBarrelLowPtLooseBool[4]
MonitorElement * hCSCPullxPropErr[4][4]
MonitorElement * hMuonTimeExtraDTNDOF[4]
edm::EDGetTokenT< reco::MuonTimeExtraMap > inputMuonTimeExtraValueMapDTToken_
MonitorElement * hMuonTimeExtraCSCTimeAtIpOutIn[4]
MonitorElement * hCSCPulldXdZPropErr[4][4]
MonitorElement * hEnergyHABarrel[4]
MonitorElement * hCSCPulldYdZPropErr[4][4]
std::vector< int > nStationHits
number of all the muon RecHits per chamber crossed by a track (1D hits)
MonitorElement * hMuonTimeExtraCSCTimeAtIpOutInErr[4]
MonitorElement * hTMLastStationAngLooseBool[4]
MonitorElement * hMuonTimeExtraDTTimeAtIpOutInErr[4]
MonitorElement * hMuonTimeNDOF[4]
MonitorElement * hMuonTimeExtraCSCTimeAtIpInOut[4]
MonitorElement * hTMOneStationAngTightBool[4]
static const unsigned int BestInStationByDR
MonitorElement * hMuonTimeExtraCombinedNDOF[4]
MonitorElement * hMuonTimeTimeAtIpOutInErr[4]
MonitorElement * hGMStaChiCompatibilityBool[4]
MonitorElement * hDTChamberDx[4][5][14]
MonitorElement * hGMTkChiCompatibilityBool[4]
float backToBackCompatibility
cosmic-likeness based on presence of a track in opp side: 0 == no matching opp tracks ...
C::const_iterator const_iterator
constant access iterator type
edm::ESHandle< GlobalTrackingGeometry > geometry_
MonitorElement * hSegmentIsBestDrNotAssociatedXY
MonitorElement * hTMLastStationTightBool[4]
std::vector< int > nStationCorrelatedHits
number of the muon RecHits used by segments per chamber crossed by a track
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath)
edm::EDGetTokenT< reco::MuonTimeExtraMap > inputMuonTimeExtraValueMapCSCToken_
edm::Handle< CSCSegmentCollection > cscSegmentCollectionH_
edm::EDGetTokenT< edm::ValueMap< reco::MuonShower > > inputMuonShowerInformationValueMapToken_
edm::InputTag inputMuonCosmicCompatibilityValueMap_
MonitorElement * hTMLastStationOptimizedBarrelLowPtTightBool[4]
MonitorElement * hDTPulldXdZPropErr[4][4]
MonitorElement * hCombinedCosmicCompat[4]
edm::EDGetTokenT< DTRecSegment4DCollection > inputDTRecSegment4DCollectionToken_
edm::Handle< reco::MuonCollection > muonCollectionH_
edm::Handle< reco::MuonTimeExtraMap > combinedMuonTimeExtraValueMapH_
MonitorElement * hOverlapCosmicCompat[4]
MonitorElement * hCSCDistWithNoSegment[4][4]
MonitorElement * hSegmentIsBestDrAssociatedXY
MonitorElement * book1D(Args &&...args)
MonitorElement * hCSCChamberEdgeYWithSegment[2][4][4][36]
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
edm::Handle< edm::ValueMap< reco::MuonShower > > muonShowerInformationValueMapH_
MonitorElement * hCSCChamberDx[2][4][4][36]
MonitorElement * hTMLastStationAngTightBool[4]
MonitorElement * hMuonQualityStaRelChi2[4]
MonitorElement * hMuonQualityTrkKink[4]
MonitorElement * hSegmentIsNotAssociatedXY
MonitorElement * hTM2DCompatibilityLooseBool[4]
MonitorElement * hMuonTimeExtraCSCTimeAtIpInOutErr[4]
MonitorElement * hCaloSegmentCompat[4]
MonitorElement * hGMTkKinkTightBool[4]
MonitorElement * hMuonTimeExtraCombinedTimeAtIpInOut[4]
bool makeAllChamberPlots_
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
edm::Handle< edm::ValueMap< reco::MuonCosmicCompatibility > > muonCosmicCompatibilityValueMapH_
float timeCompatibility
cosmic-likeness based on time: 0 == prompt-like
MonitorElement * hMuonShowerDeltaR[4][4]
MonitorElement * hGlobalMuonPromptTightBool[4]
MonitorElement * hDTChamberEdgeYWithSegment[4][5][14]
MonitorElement * hMuonTimeExtraCombinedTimeAtIpOutIn[4]
MonitorElement * hSegmentIsAssociatedRZ
std::string subsystemname_
MonitorElement * hDTPullDistWithSegment[4][4]
edm::EDGetTokenT< reco::MuonTimeExtraMap > inputMuonTimeExtraValueMapCombToken_
MonitorElement * hCSCPullDistWithSegment[4][4]
bool makeCosmicCompatibilityPlots_
MonitorElement * book2D(Args &&...args)
edm::InputTag inputDTRecSegment4DCollection_
MonitorElement * hMuonHitsFromSegments[4][4]
MonitorElement * hCSCDistWithSegment[4][4]
edm::ParameterSet iConfig
MuonIdVal(const edm::ParameterSet &)
MonitorElement * hTMOneStationTightBool[4]
MonitorElement * hTM2DCompatibilityTightBool[4]
edm::Handle< reco::MuonTimeExtraMap > dtMuonTimeExtraValueMapH_
MonitorElement * hMuonTimeExtraDTTimeAtIpOutIn[4]
MonitorElement * hSegmentIsNotAssociatedRZ
MonitorElement * hSegmentIsBestDrAssociatedRZ
MonitorElement * hTMOneStationLooseBool[4]
MonitorElement * hCSCChamberEdgeXWithSegment[2][4][4][36]
MonitorElement * hDTChamberDy[3][5][14]
const GeomDet * idToDet(DetId) const override
MonitorElement * hTMOneStationAngLooseBool[4]
edm::InputTag inputCSCSegmentCollection_
MonitorElement * hDTPullyPropErr[4][3]
std::vector< float > stationShowerSizeT
the transverse size of the hit cluster
MonitorElement * hMuonQualityTrkRelChi2[4]
MonitorElement * hCSCPullyPropErr[4][4]
MonitorElement * hEnergyEMBarrel[4]
MonitorElement * hMuonTimeExtraCombinedTimeAtIpOutInErr[4]
bool useGlobalMuonsNotTrackerMuons_
edm::InputTag inputMuonCollection_
MonitorElement * hTMLastStationOptimizedLowPtTightBool[4]
MonitorElement * hCaloCompat[4]
bool useTrackerMuonsNotGlobalMuons_
MonitorElement * hMuonTimeExtraDTTimeAtIpInOutErr[4]
MonitorElement * hDTPullxPropErr[4][4]
float cosmicCompatibility
combined cosmic-likeness: 0 == not cosmic-like
MonitorElement * hMuonShowerSizeT[4][4]
float overlapCompatibility
cosmic-likeness based on overlap with traversing cosmic muon (only muon/STA hits are used) ...
MonitorElement * hDTChamberEdgeYWithNoSegment[4][5][14]
MonitorElement * hTimeCosmicCompat[4]
MonitorElement * hCSCPullDistWithNoSegment[4][4]
MonitorElement * hMuonTimeExtraCSCNDOF[4]
MonitorElement * hEnergyHO[4]
edm::InputTag inputMuonShowerInformationValueMap_
std::vector< float > stationShowerDeltaR
the radius of the cone containing the all the hits around the track