18 for(
int i = 0;
i < 10; ++
i)
28 for(
int i = 0;
i < 10; ++
i)
30 char title1[200], title2[200], title3[200], title4[200], title5[200], title6[200], title7[200], title8[200], title9[200];
31 sprintf(title1,
"CSCRecHitResolution%d",
i+1);
32 sprintf(title2,
"CSCRecHitPull%d",
i+1);
33 sprintf(title3,
"CSCRecHitYResolution%d",
i+1);
34 sprintf(title4,
"CSCRecHitYPull%d",
i+1);
35 sprintf(title5,
"CSCRecHitPosInStrip%d",
i+1);
36 sprintf(title6,
"CSCSimHitPosInStrip%d",
i+1);
37 sprintf(title7,
"CSCRecHit%d",
i+1);
38 sprintf(title8,
"CSCSimHit%d",
i+1);
39 sprintf(title9,
"CSCTPeak%d",
i+1);
60 unsigned nPerEvent = 0;
63 recHitItr != cscRecHits->end(); recHitItr++)
66 int detId = (*recHitItr).cscDetId().rawId();
71 if(simHits.size() == 1)
75 float localX = recHitItr->localPosition().x();
76 float localY = recHitItr->localPosition().y();
80 GlobalPoint axisThruChamber(globalR+localY, localX, 0.);
81 float localPhi = axisThruChamber.
phi().degrees();
89 for(
unsigned i = 0;
i < layersWithSimHits.size(); ++
i)
92 for(edm::PSimHitContainer::const_iterator hitItr = simHits.begin(); hitItr != simHits.end(); ++hitItr)
96 float localX = hitItr->localPosition().x();
97 float localY = hitItr->localPosition().y();
101 GlobalPoint axisThruChamber(globalR+localY, localX, 0.);
102 float localPhi = axisThruChamber.
phi().degrees();
111 const CSCLayer * layer,
int chamberType)
116 double dphi = recHitPos.
phi() - simHitPos.
phi();
117 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)
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