28 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"combined"));
30 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"csc"));
32 consumes<reco::MuonTimeExtraMap>(
edm::InputTag(inputMuonTimeExtraValueMap_.
label(),
"dt"));
49 for (
unsigned int i = 0;
i < 4;
i++) {
75 ibooker.
book1D(
"hMuonTimeTimeAtIpInOutErr",
"MuonTime TimeAtIpInOutErr", 100, 0., 8.);
78 ibooker.
book1D(
"hMuonTimeTimeAtIpOutInErr",
"MuonTime TimeAtIpOutInErr", 100, 0., 8.);
80 ibooker.
book1D(
"hMuonTimeExtraCombinedNDOF",
"MuonTimeExtra Combined NDOF", 52, -1.5, 50.5);
82 ibooker.
book1D(
"hMuonTimeExtraCombinedTimeAtIpInOut",
"MuonTimeExtra Combined TimeAtIpInOut", 100, -20., 20.);
84 "hMuonTimeExtraCombinedTimeAtIpInOutErr",
"MuonTimeExtra Combined TimeAtIpInOutErr", 100, 0., 8.);
86 ibooker.
book1D(
"hMuonTimeExtraCombinedTimeAtIpOutIn",
"MuonTimeExtra Combined TimeAtIpOutIn", 100, -1., 75.);
88 "hMuonTimeExtraCombinedTimeAtIpOutInErr",
"MuonTimeExtra Combined TimeAtIpOutInErr", 100, 0., 8.);
91 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpInOut",
"MuonTimeExtra CSC TimeAtIpInOut", 100, -20., 20.);
93 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpInOutErr",
"MuonTimeExtra CSC TimeAtIpInOutErr", 100, 0., 8.);
95 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpOutIn",
"MuonTimeExtra CSC TimeAtIpOutIn", 100, -1., 75.);
97 ibooker.
book1D(
"hMuonTimeExtraCSCTimeAtIpOutInErr",
"MuonTimeExtra CSC TimeAtIpOutInErr", 100, 0., 8.);
100 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpInOut",
"MuonTimeExtra DT TimeAtIpInOut", 100, -20., 20.);
102 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpInOutErr",
"MuonTimeExtra DT TimeAtIpInOutErr", 100, 0., 8.);
104 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpOutIn",
"MuonTimeExtra DT TimeAtIpOutIn", 100, -1., 75.);
106 ibooker.
book1D(
"hMuonTimeExtraDTTimeAtIpOutInErr",
"MuonTimeExtra DT TimeAtIpOutInErr", 100, 0., 8.);
109 hCaloCompat[
i] = ibooker.
book1D(
"hCaloCompat",
"Calo Compatibility", 101, -0.05, 1.05);
113 "hCaloSegmentCompat",
"Calo Compatibility vs. Segment Compatibility", 101, -0.05, 1.05, 101, -0.05, 1.05);
118 ibooker.
book1D(
"hGlobalMuonPromptTightBool",
"GlobalMuonPromptTight Boolean", 2, -0.5, 1.5);
122 ibooker.
book1D(
"hTM2DCompatibilityLooseBool",
"TM2DCompatibilityLoose Boolean", 2, -0.5, 1.5);
124 ibooker.
book1D(
"hTM2DCompatibilityTightBool",
"TM2DCompatibilityTight Boolean", 2, -0.5, 1.5);
128 "hTMLastStationOptimizedLowPtLooseBool",
"TMLastStationOptimizedLowPtLoose Boolean", 2, -0.5, 1.5);
130 "hTMLastStationOptimizedLowPtTightBool",
"TMLastStationOptimizedLowPtTight Boolean", 2, -0.5, 1.5);
132 ibooker.
book1D(
"hGMTkChiCompatibilityBool",
"GMTkChiCompatibility Boolean", 2, -0.5, 1.5);
134 ibooker.
book1D(
"hGMStaChiCompatibilityBool",
"GMStaChiCompatibility Boolean", 2, -0.5, 1.5);
137 ibooker.
book1D(
"hTMLastStationAngLooseBool",
"TMLastStationAngLoose Boolean", 2, -0.5, 1.5);
139 ibooker.
book1D(
"hTMLastStationAngTightBool",
"TMLastStationAngTight Boolean", 2, -0.5, 1.5);
141 ibooker.
book1D(
"hTMOneStationAngLooseBool",
"TMOneStationAngLoose Boolean", 2, -0.5, 1.5);
143 ibooker.
book1D(
"hTMOneStationAngTightBool",
"TMOneStationAngTight Boolean", 2, -0.5, 1.5);
145 "hTMLastStationOptimizedBarrelLowPtLooseBool",
"TMLastStationOptimizedBarrelLowPtLoose Boolean", 2, -0.5, 1.5);
147 "hTMLastStationOptimizedBarrelLowPtTightBool",
"TMLastStationOptimizedBarrelLowPtTight Boolean", 2, -0.5, 1.5);
151 ibooker.
book1D(
"hCombinedCosmicCompat",
"hCombinedCosmicCompatibility float", 40, 0., 10.);
160 sprintf(name,
"hMuonShowerSizeT%i",
station + 1);
161 sprintf(title,
"Station %i Transverse Cluster Size",
station + 1);
163 sprintf(name,
"hMuonShowerDeltaR%i",
station + 1);
164 sprintf(title,
"Station %i DeltaR",
station + 1);
166 sprintf(name,
"hMuonAllHits%i",
station + 1);
167 sprintf(title,
"Station %i Number of 1D DT or 2D CSC RecHits",
station + 1);
169 sprintf(name,
"hMuonHitsFromSegments%i",
station + 1);
170 sprintf(title,
"Station %i Hits used by 4D DT or 3D CSC Segments",
station + 1);
172 sprintf(name,
"hMuonUncorrelatedHits%i",
station + 1);
173 sprintf(title,
"Station %i Uncorrelated Hits",
station + 1);
177 sprintf(name,
"hDT%iPullxPropErr",
station + 1);
178 sprintf(title,
"DT Station %i Pull X w/ Propagation Error Only",
station + 1);
181 sprintf(name,
"hDT%iPulldXdZPropErr",
station + 1);
182 sprintf(title,
"DT Station %i Pull DxDz w/ Propagation Error Only",
station + 1);
186 sprintf(name,
"hDT%iPullyPropErr",
station + 1);
187 sprintf(title,
"DT Station %i Pull Y w/ Propagation Error Only",
station + 1);
190 sprintf(name,
"hDT%iPulldYdZPropErr",
station + 1);
191 sprintf(title,
"DT Station %i Pull DyDz w/ Propagation Error Only",
station + 1);
195 sprintf(name,
"hDT%iDistWithSegment",
station + 1);
196 sprintf(title,
"DT Station %i Dist When There Is A Segment",
station + 1);
199 sprintf(name,
"hDT%iDistWithNoSegment",
station + 1);
200 sprintf(title,
"DT Station %i Dist When There Is No Segment",
station + 1);
203 sprintf(name,
"hDT%iPullDistWithSegment",
station + 1);
204 sprintf(title,
"DT Station %i Pull Dist When There Is A Segment",
station + 1);
207 sprintf(name,
"hDT%iPullDistWithNoSegment",
station + 1);
208 sprintf(title,
"DT Station %i Pull Dist When There Is No Segment",
station + 1);
211 sprintf(name,
"hCSC%iPullxPropErr",
station + 1);
212 sprintf(title,
"CSC Station %i Pull X w/ Propagation Error Only",
station + 1);
215 sprintf(name,
"hCSC%iPulldXdZPropErr",
station + 1);
216 sprintf(title,
"CSC Station %i Pull DxDz w/ Propagation Error Only",
station + 1);
219 sprintf(name,
"hCSC%iPullyPropErr",
station + 1);
220 sprintf(title,
"CSC Station %i Pull Y w/ Propagation Error Only",
station + 1);
223 sprintf(name,
"hCSC%iPulldYdZPropErr",
station + 1);
224 sprintf(title,
"CSC Station %i Pull DyDz w/ Propagation Error Only",
station + 1);
227 sprintf(name,
"hCSC%iDistWithSegment",
station + 1);
228 sprintf(title,
"CSC Station %i Dist When There Is A Segment",
station + 1);
231 sprintf(name,
"hCSC%iDistWithNoSegment",
station + 1);
232 sprintf(title,
"CSC Station %i Dist When There Is No Segment",
station + 1);
235 sprintf(name,
"hCSC%iPullDistWithSegment",
station + 1);
236 sprintf(title,
"CSC Station %i Pull Dist When There Is A Segment",
station + 1);
239 sprintf(name,
"hCSC%iPullDistWithNoSegment",
station + 1);
240 sprintf(title,
"CSC Station %i Pull Dist When There Is No Segment",
station + 1);
248 ibooker.
book2D(
"hSegmentIsAssociatedRZ",
"R-Z of Associated Segments", 2140, -1070., 1070., 850, 0., 850.);
250 ibooker.
book2D(
"hSegmentIsAssociatedXY",
"X-Y of Associated Segments", 1700, -850., 850., 1700, -850., 850.);
252 "hSegmentIsNotAssociatedRZ",
"R-Z of Not Associated Segments", 2140, -1070., 1070., 850, 0., 850.);
254 "hSegmentIsNotAssociatedXY",
"X-Y of Not Associated Segments", 1700, -850., 850., 1700, -850., 850.);
256 "R-Z of Best in Station by #DeltaR Associated Segments",
264 "X-Y of Best in Station by #DeltaR Associated Segments",
272 "R-Z of Best in Station by #DeltaR Not Associated Segments",
280 "X-Y of Best in Station by #DeltaR Not Associated Segments",
295 for (
int wheel = 0; wheel < 5; ++wheel) {
297 for (
int sector = 0; sector < 14; ++sector) {
298 sprintf(name,
"hDTChamberDx_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
299 sprintf(title,
"DT Chamber Delta X: Station %i Wheel %i Sector %i",
station + 1, wheel - 2, sector + 1);
303 sprintf(name,
"hDTChamberDy_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
304 sprintf(title,
"DT Chamber Delta Y: Station %i Wheel %i Sector %i",
station + 1, wheel - 2, sector + 1);
308 sprintf(name,
"hDTChamberEdgeXWithSegment_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
310 "DT Chamber Edge X When There Is A Segment: Station %i Wheel "
317 sprintf(name,
"hDTChamberEdgeXWithNoSegment_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
319 "DT Chamber Edge X When There Is No Segment: Station %i "
320 "Wheel %i Sector %i",
326 sprintf(name,
"hDTChamberEdgeYWithSegment_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
328 "DT Chamber Edge Y When There Is A Segment: Station %i Wheel "
335 sprintf(name,
"hDTChamberEdgeYWithNoSegment_%i_%i_%i",
station + 1, wheel - 2, sector + 1);
337 "DT Chamber Edge Y When There Is No Segment: Station %i "
338 "Wheel %i Sector %i",
351 for (
int chamber = 0; chamber < 36; ++chamber) {
352 sprintf(name,
"hCSCChamberDx_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
354 "CSC Chamber Delta X: Endcap %i Station %i Ring %i Chamber %i",
361 sprintf(name,
"hCSCChamberDy_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
363 "CSC Chamber Delta Y: Endcap %i Station %i Ring %i Chamber %i",
370 sprintf(name,
"hCSCChamberEdgeXWithSegment_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
372 "CSC Chamber Edge X When There Is A Segment: Endcap %i "
373 "Station %i Ring %i Chamber %i",
380 sprintf(name,
"hCSCChamberEdgeXWithNoSegment_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
382 "CSC Chamber Edge X When There Is No Segment: Endcap %i "
383 "Station %i Ring %i Chamber %i",
390 sprintf(name,
"hCSCChamberEdgeYWithSegment_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
392 "CSC Chamber Edge Y When There Is A Segment: Endcap %i "
393 "Station %i Ring %i Chamber %i",
400 sprintf(name,
"hCSCChamberEdgeYWithNoSegment_%i_%i_%i_%i",
endcap + 1,
station + 1,
ring + 1, chamber + 1);
402 "CSC Chamber Edge Y When There Is No Segment: Endcap %i "
403 "Station %i Ring %i Chamber %i",
418 using namespace reco;
431 unsigned int muonIdx = 0;
435 for (
unsigned int i = 0;
i < 4;
i++) {
447 if (fabs(
muon->eta()) > 1.479)
452 if (fabs(
muon->eta()) > 1.4)
457 if (fabs(
muon->eta()) < 1.26)
462 if (
muon->isTimeValid()) {
471 MuonTimeExtra combinedMuonTimeExtra = (*combinedMuonTimeExtraValueMapH_)[muonRef];
472 MuonTimeExtra cscMuonTimeExtra = (*cscMuonTimeExtraValueMapH_)[muonRef];
473 MuonTimeExtra dtMuonTimeExtra = (*dtMuonTimeExtraValueMapH_)[muonRef];
492 if (
muon->isCaloCompatibilityValid())
497 if (
muon->isQualityValid()) {
599 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
600 chamberMatch !=
muon->matches().end();
602 int station = chamberMatch->station();
606 int wheel = dtId.
wheel();
607 int sector = dtId.sector();
609 if (chamberMatch->segmentMatches.empty()) {
616 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
617 segmentMatch != chamberMatch->segmentMatches.end();
619 if (segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR)) {
620 Fill(
hDTChamberDx[station - 1][wheel + 2][sector - 1], chamberMatch->x - segmentMatch->x);
622 Fill(
hDTChamberDy[station - 1][wheel + 2][sector - 1], chamberMatch->y - segmentMatch->y);
632 CSCDetId cscId(chamberMatch->id.rawId());
633 int endcap = cscId.endcap();
634 int ring = cscId.ring();
635 int chamber = cscId.chamber();
637 if (chamberMatch->segmentMatches.empty()) {
644 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
645 segmentMatch != chamberMatch->segmentMatches.end();
647 if (segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR)) {
648 Fill(
hCSCChamberDx[endcap - 1][station - 1][ring - 1][chamber - 1], chamberMatch->x - segmentMatch->x);
649 Fill(
hCSCChamberDy[endcap - 1][station - 1][ring - 1][chamber - 1], chamberMatch->y - segmentMatch->y);
666 LocalPoint segmentLocalPosition = segment->localPosition();
667 LocalVector segmentLocalDirection = segment->localDirection();
668 LocalError segmentLocalPositionError = segment->localPositionError();
669 LocalError segmentLocalDirectionError = segment->localDirectionError();
670 const GeomDet *segmentGeomDet =
geometry_->idToDet(segment->geographicalId());
672 bool segmentFound =
false;
673 bool segmentBestDrFound =
false;
676 if (!
muon->isMatchesValid())
679 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
680 chamberMatch !=
muon->matches().end();
682 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
683 segmentMatch != chamberMatch->segmentMatches.end();
685 if (fabs(segmentMatch->x - segmentLocalPosition.
x()) < 1E-6 &&
686 fabs(segmentMatch->y - segmentLocalPosition.
y()) < 1E-6 &&
687 fabs(segmentMatch->dXdZ - segmentLocalDirection.
x() / segmentLocalDirection.
z()) < 1E-6 &&
688 fabs(segmentMatch->dYdZ - segmentLocalDirection.
y() / segmentLocalDirection.
z()) < 1E-6 &&
689 fabs(segmentMatch->xErr -
sqrt(segmentLocalPositionError.
xx())) < 1E-6 &&
690 fabs(segmentMatch->yErr -
sqrt(segmentLocalPositionError.
yy())) < 1E-6 &&
691 fabs(segmentMatch->dXdZErr -
sqrt(segmentLocalDirectionError.
xx())) < 1E-6 &&
692 fabs(segmentMatch->dYdZErr -
sqrt(segmentLocalDirectionError.
yy())) < 1E-6) {
695 segmentBestDrFound =
true;
710 if (segmentBestDrFound) {
725 LocalPoint segmentLocalPosition = segment->localPosition();
726 LocalVector segmentLocalDirection = segment->localDirection();
727 LocalError segmentLocalPositionError = segment->localPositionError();
728 LocalError segmentLocalDirectionError = segment->localDirectionError();
729 const GeomDet *segmentGeomDet =
geometry_->idToDet(segment->geographicalId());
731 bool segmentFound =
false;
732 bool segmentBestDrFound =
false;
735 if (!
muon->isMatchesValid())
738 for (std::vector<MuonChamberMatch>::const_iterator chamberMatch =
muon->matches().begin();
739 chamberMatch !=
muon->matches().end();
741 for (std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
742 segmentMatch != chamberMatch->segmentMatches.end();
744 if (fabs(segmentMatch->x - segmentLocalPosition.
x()) < 1E-6 &&
745 fabs(segmentMatch->y - segmentLocalPosition.
y()) < 1E-6 &&
746 fabs(segmentMatch->dXdZ - segmentLocalDirection.
x() / segmentLocalDirection.
z()) < 1E-6 &&
747 fabs(segmentMatch->dYdZ - segmentLocalDirection.
y() / segmentLocalDirection.
z()) < 1E-6 &&
748 fabs(segmentMatch->xErr -
sqrt(segmentLocalPositionError.
xx())) < 1E-6 &&
749 fabs(segmentMatch->yErr -
sqrt(segmentLocalPositionError.
yy())) < 1E-6 &&
750 fabs(segmentMatch->dXdZErr -
sqrt(segmentLocalDirectionError.
xx())) < 1E-6 &&
751 fabs(segmentMatch->dYdZErr -
sqrt(segmentLocalDirectionError.
yy())) < 1E-6) {
754 segmentBestDrFound =
true;
769 if (segmentBestDrFound) {
783 if (fabs(f) > 900000)
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_
virtual void setCurrentFolder(std::string const &fullpath)
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]
#define DEFINE_FWK_MODULE(type)
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
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 * 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]
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > trackingGeomToken_
bool makeCosmicCompatibilityPlots_
edm::InputTag inputDTRecSegment4DCollection_
MonitorElement * hMuonHitsFromSegments[4][4]
MonitorElement * hCSCDistWithSegment[4][4]
edm::ParameterSet iConfig
MuonIdVal(const edm::ParameterSet &)
MonitorElement * hTMOneStationTightBool[4]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
T getParameter(std::string const &) const
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]
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]
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
bool useGlobalMuonsNotTrackerMuons_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
edm::InputTag inputMuonCollection_
MonitorElement * hTMLastStationOptimizedLowPtTightBool[4]
MonitorElement * hCaloCompat[4]
bool useTrackerMuonsNotGlobalMuons_
MonitorElement * hMuonTimeExtraDTTimeAtIpInOutErr[4]
int wheel() const
Return the wheel number.
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