17 for (
int i = 1;
i <= 10; ++
i) {
40 theTPeaks[
i - 1] = iBooker.
book1D(t9, t9 +
";Peak Time [ns];Entries", 200, 0, 400);
50 unsigned nPerEvent = 0;
52 for (
auto recHitItr = cscRecHits->begin(); recHitItr != cscRecHits->end(); recHitItr++) {
54 int detId = (*recHitItr).cscDetId().rawId();
57 int chamberType =
layer->chamber()->specs()->chamberType();
62 float localX = recHitItr->localPosition().x();
63 float localY = recHitItr->localPosition().y();
67 float localPhi = axisThruChamber.
phi().
degrees();
75 for (
unsigned i = 0;
i < layersWithSimHits.size(); ++
i) {
77 for (
auto hitItr =
simHits.begin(); hitItr !=
simHits.end(); ++hitItr) {
79 int chamberType =
layer->chamber()->specs()->chamberType();
80 float localX = hitItr->localPosition().x();
81 float localY = hitItr->localPosition().y();
85 float localPhi = axisThruChamber.
phi().
degrees();
99 double dphi = recHitPos.
phi() - simHitPos.
phi();
100 double rdphi = recHitPos.
perp() * dphi;
103 double dy =
recHit.localPosition().y() -
simHit.localPosition().y();
108 float recStrip = layerGeometry->
strip(
recHit.localPosition());
109 float simStrip = layerGeometry->
strip(
simHit.localPosition());
MonitorElement * theSimHitScatterPlots[10]
MonitorElement * theYResolutionPlots[10]
MonitorElement * theScatterPlots[10]
Point3DBase< Scalar, LocalTag > LocalPoint
void plotResolution(const PSimHit &simHit, const CSCRecHit2D &recHit, const CSCLayer *layer, int chamberType)
edm::EDGetTokenT< CSCRecHit2DCollection > rechits_Token_
Geom::Phi< T > phi() const
CSCRecHit2DValidation(const edm::ParameterSet &ps, edm::ConsumesCollector &&iC)
T const * product() const
ParameterSet const & getParameterSet(std::string const &) const
void bookHistograms(DQMStore::IBooker &)
MonitorElement * theResolutionPlots[10]
constexpr std::array< uint8_t, layerIndexSize > layer
MonitorElement * theSimHitPosInStrip[10]
MonitorElement * theYPullPlots[10]
float strip(const LocalPoint &lp) const
std::string chamberName() const
const PSimHitMap * theSimHitMap
const CSCLayer * findLayer(int detId) const
const edm::PSimHitContainer & hits(int detId) const
constexpr uint16_t localX(uint16_t px)
~CSCRecHit2DValidation() override
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
constexpr uint16_t localY(uint16_t py, uint16_t n)
MonitorElement * theNPerEventPlot
MonitorElement * thePullPlots[10]
MonitorElement * theRecHitPosInStrip[10]
std::vector< int > detsWithHits() const
MonitorElement * theTPeaks[10]
std::vector< PSimHit > PSimHitContainer
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
void analyze(const edm::Event &, const edm::EventSetup &) override