11 for (
int i = 0;
i < 10; ++
i) {
20 for (
int i = 0;
i < 10; ++
i) {
21 char title1[200], title2[200], title3[200], title4[200], title5[200], title6[200], title7[200], title8[200],
23 sprintf(title1,
"CSCRecHitResolution%d",
i + 1);
24 sprintf(title2,
"CSCRecHitPull%d",
i + 1);
25 sprintf(title3,
"CSCRecHitYResolution%d",
i + 1);
26 sprintf(title4,
"CSCRecHitYPull%d",
i + 1);
27 sprintf(title5,
"CSCRecHitPosInStrip%d",
i + 1);
28 sprintf(title6,
"CSCSimHitPosInStrip%d",
i + 1);
29 sprintf(title7,
"CSCRecHit%d",
i + 1);
30 sprintf(title8,
"CSCSimHit%d",
i + 1);
31 sprintf(title9,
"CSCTPeak%d",
i + 1);
51 unsigned nPerEvent = 0;
56 int detId = (*recHitItr).cscDetId().rawId();
61 if (simHits.size() == 1) {
64 float localX = recHitItr->localPosition().x();
65 float localY = recHitItr->localPosition().y();
69 GlobalPoint axisThruChamber(globalR + localY, localX, 0.);
70 float localPhi = axisThruChamber.
phi().degrees();
78 for (
unsigned i = 0;
i < layersWithSimHits.size(); ++
i) {
80 for (edm::PSimHitContainer::const_iterator hitItr = simHits.begin(); hitItr != simHits.end(); ++hitItr) {
83 float localX = hitItr->localPosition().x();
84 float localY = hitItr->localPosition().y();
88 GlobalPoint axisThruChamber(globalR + localY, localX, 0.);
89 float localPhi = axisThruChamber.
phi().degrees();
103 double dphi = recHitPos.
phi() - simHitPos.
phi();
104 double rdphi = recHitPos.
perp() * dphi;
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_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Geom::Phi< T > phi() const
void bookHistograms(DQMStore::IBooker &)
const std::string & getName() const
get name of ME
constexpr uint16_t localY(uint16_t py)
LocalPoint localPosition() const override
MonitorElement * theResolutionPlots[10]
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
CSCRecHit2DValidation(const edm::InputTag &inputTag, edm::ConsumesCollector &&iC)
C::const_iterator const_iterator
constant access iterator type
MonitorElement * theSimHitPosInStrip[10]
MonitorElement * theYPullPlots[10]
const CSCChamberSpecs * specs() const
Local3DPoint localPosition() const
const PSimHitMap * theSimHitMap
MonitorElement * book1D(Args &&...args)
const edm::PSimHitContainer & hits(int detId) const
float strip(const LocalPoint &lp) const
std::vector< int > detsWithHits() const
T const * product() const
MonitorElement * book2D(Args &&...args)
constexpr uint16_t localX(uint16_t px)
~CSCRecHit2DValidation() override
LocalError localPositionError() const override
MonitorElement * theNPerEventPlot
MonitorElement * thePullPlots[10]
MonitorElement * theRecHitPosInStrip[10]
double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * theTPeaks[10]
std::vector< PSimHit > PSimHitContainer
const CSCChamber * chamber() const
const CSCLayerGeometry * geometry() const
const CSCLayer * findLayer(int detId) const
void analyze(const edm::Event &, const edm::EventSetup &) override