#include <DTSegment4DQuality.h>
Private Member Functions | |
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &, dtsegment4d::Histograms &) const override |
Book the DQM plots. More... | |
void | dqmAnalyze (edm::Event const &, edm::EventSetup const &, dtsegment4d::Histograms const &) const override |
Perform the real analysis. More... | |
Private Attributes | |
bool | debug_ |
bool | doall_ |
bool | local_ |
edm::ESGetToken< DTGeometry, MuonGeometryRecord > | muonGeomToken_ |
edm::InputTag | segment4DLabel_ |
edm::EDGetTokenT < DTRecSegment4DCollection > | segment4DToken_ |
double | sigmaResAlpha_ |
double | sigmaResBeta_ |
double | sigmaResX_ |
double | sigmaResY_ |
edm::InputTag | simHitLabel_ |
edm::EDGetTokenT < edm::PSimHitContainer > | simHitToken_ |
Additional Inherited Members | |
Public Types inherited from DQMGlobalEDAnalyzerBase< dtsegment4d::Histograms, Args...> | |
typedef dqm::reco::DQMStore | DQMStore |
typedef dqm::reco::MonitorElement | MonitorElement |
Public Types inherited from edm::global::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::global::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from DQMGlobalEDAnalyzerBase< dtsegment4d::Histograms, Args...> | |
uint64_t | meId (edm::Run const &run) const |
Protected Member Functions inherited from edm::ProducerBase | |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Protected Attributes inherited from DQMGlobalEDAnalyzerBase< dtsegment4d::Histograms, Args...> | |
DQMStore * | dqmstore_ |
edm::EDPutTokenT< DQMToken > | runToken_ |
Basic analyzer class which accesses 4D DTSegments and plots resolution comparing reconstructed and simulated quantities
Only true 4D segments are considered. Station 4 segments are not looked at. FIXME: Add flag to consider also segments with only phi view? Possible bias?
Residual/pull plots are filled for the reco segment with alpha closest to the simulated muon direction (defined from muon simhits in the chamber).
Efficiencies are defined as reconstructed 4D segments with alpha, beta, x, y, within 5 sigma relative to the sim muon, with sigmas specified in the config. Note that loss of even only one of the two views is considered as inefficiency!
Definition at line 46 of file DTSegment4DQuality.h.
DTSegment4DQuality::DTSegment4DQuality | ( | const edm::ParameterSet & | pset | ) |
Constructor.
Definition at line 55 of file DTSegment4DQuality.cc.
References DTHitQualityUtils::debug, debug_, doall_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), local_, segment4DLabel_, segment4DToken_, sigmaResAlpha_, sigmaResBeta_, sigmaResX_, sigmaResY_, simHitLabel_, and simHitToken_.
|
overrideprivatevirtual |
Implements DQMGlobalEDAnalyzerBase< dtsegment4d::Histograms, Args...>.
Definition at line 77 of file DTSegment4DQuality.cc.
References doall_, dtsegment4d::Histograms::h4DHit, dtsegment4d::Histograms::h4DHit_W0, dtsegment4d::Histograms::h4DHit_W1, dtsegment4d::Histograms::h4DHit_W2, dtsegment4d::Histograms::h4DHitWS, dtsegment4d::Histograms::hEff_All, dtsegment4d::Histograms::hEff_W0, dtsegment4d::Histograms::hEff_W1, dtsegment4d::Histograms::hEff_W2, dtsegment4d::Histograms::hEffWS, local_, mergeVDriftHistosByStation::name, alignCSCRings::s, and w.
|
overrideprivatevirtual |
Perform the real analysis.
Implements DQMGlobalEDAnalyzerBase< dtsegment4d::Histograms, Args...>.
Definition at line 108 of file DTSegment4DQuality.cc.
References funct::abs(), DTGeometry::chamber(), funct::cos(), gather_cfg::cout, debug_, HLT_FULL_cff::distance, doall_, alignCSCRings::e, geometryDiff::epsilon, PV3DBase< T, PVType, FrameType >::eta(), HRes4DHit::fill(), HEff4DHit::fill(), DTHitQualityUtils::findMuSimSegment(), DTHitQualityUtils::findMuSimSegmentDirAndPos(), DTHitQualityUtils::findSegmentAlphaAndBeta(), edm::EventSetup::getData(), dtsegment4d::Histograms::h4DHit, dtsegment4d::Histograms::h4DHit_W0, dtsegment4d::Histograms::h4DHit_W1, dtsegment4d::Histograms::h4DHit_W2, dtsegment4d::Histograms::h4DHitWS, dtsegment4d::Histograms::hEff_All, dtsegment4d::Histograms::hEff_W0, dtsegment4d::Histograms::hEff_W1, dtsegment4d::Histograms::hEff_W2, dtsegment4d::Histograms::hEffWS, timingPdfMaker::histo, edm::HandleBase::isValid(), local_, DTRecSegment4D::localDirection(), DTRecSegment2D::localDirection(), DTRecSegment4D::localDirectionError(), DTRecSegment2D::localDirectionError(), DTRecSegment4D::localPosition(), DTRecSegment2D::localPosition(), DTRecSegment4D::localPositionError(), DTRecSegment2D::localPositionError(), DTHitQualityUtils::mapMuSimHitsPerWire(), DTHitQualityUtils::mapSimHitsPerWire(), muonGeomToken_, PV3DBase< T, PVType, FrameType >::phi(), DTRecSegment4D::phiSegment(), sistrip::SpyUtilities::range(), DTRecSegment2D::recHits(), segment4DLabel_, segment4DToken_, DTHitQualityUtils::sigmaAngle(), trackerHits::simHits, simHitToken_, mathSSE::sqrt(), DTChamberId::station(), relativeConstraints::station, DTGeometry::superLayer(), DTSLRecSegment2D::superLayerId(), DTRecSegment2D::t0(), PV3DBase< T, PVType, FrameType >::theta(), GeomDet::toGlobal(), GeomDet::toLocal(), DTChamberId::wheel(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV3DBase< T, PVType, FrameType >::y(), LocalError::yy(), PV3DBase< T, PVType, FrameType >::z(), and DTRecSegment4D::zSegment().
|
private |
Definition at line 83 of file DTSegment4DQuality.h.
Referenced by dqmAnalyze(), and DTSegment4DQuality().
|
private |
Definition at line 79 of file DTSegment4DQuality.h.
Referenced by bookHistograms(), dqmAnalyze(), and DTSegment4DQuality().
|
private |
Definition at line 80 of file DTSegment4DQuality.h.
Referenced by bookHistograms(), dqmAnalyze(), and DTSegment4DQuality().
|
private |
Definition at line 69 of file DTSegment4DQuality.h.
Referenced by dqmAnalyze().
|
private |
Definition at line 64 of file DTSegment4DQuality.h.
Referenced by dqmAnalyze(), and DTSegment4DQuality().
|
private |
Definition at line 66 of file DTSegment4DQuality.h.
Referenced by dqmAnalyze(), and DTSegment4DQuality().
|
private |
Definition at line 76 of file DTSegment4DQuality.h.
Referenced by DTSegment4DQuality().
|
private |
Definition at line 77 of file DTSegment4DQuality.h.
Referenced by DTSegment4DQuality().
|
private |
Definition at line 72 of file DTSegment4DQuality.h.
Referenced by DTSegment4DQuality().
|
private |
Definition at line 73 of file DTSegment4DQuality.h.
Referenced by DTSegment4DQuality().
|
private |
Definition at line 63 of file DTSegment4DQuality.h.
Referenced by DTSegment4DQuality().
|
private |
Definition at line 65 of file DTSegment4DQuality.h.
Referenced by dqmAnalyze(), and DTSegment4DQuality().