10 theNPerEventPlot(
dbe_->book1D(
"CSCRecHitsPerEvent",
"Number of CSC Rec Hits per event", 100, 0, 500) )
14 for(
int i = 0;
i < 10; ++
i)
16 char title1[200], title2[200], title3[200], title4[200], title5[200], title6[200], title7[200], title8[200], title9[200];
17 sprintf(title1,
"CSCRecHitResolution%d",
i+1);
18 sprintf(title2,
"CSCRecHitPull%d",
i+1);
19 sprintf(title3,
"CSCRecHitYResolution%d",
i+1);
20 sprintf(title4,
"CSCRecHitYPull%d",
i+1);
21 sprintf(title5,
"CSCRecHitPosInStrip%d",
i+1);
22 sprintf(title6,
"CSCSimHitPosInStrip%d",
i+1);
23 sprintf(title7,
"CSCRecHit%d",
i+1);
24 sprintf(title8,
"CSCSimHit%d",
i+1);
25 sprintf(title9,
"CSCTPeak%d",
i+1);
43 for(
int i = 0;
i < 10; ++
i)
58 unsigned nPerEvent = 0;
61 recHitItr != cscRecHits->end(); recHitItr++)
64 int detId = (*recHitItr).cscDetId().rawId();
69 if(simHits.size() == 1)
73 float localX = recHitItr->localPosition().x();
74 float localY = recHitItr->localPosition().y();
78 GlobalPoint axisThruChamber(globalR+localY, localX, 0.);
79 float localPhi = axisThruChamber.
phi().
degrees();
87 for(
unsigned i = 0;
i < layersWithSimHits.size(); ++
i)
90 for(edm::PSimHitContainer::const_iterator hitItr = simHits.begin(); hitItr != simHits.end(); ++hitItr)
94 float localX = hitItr->localPosition().x();
95 float localY = hitItr->localPosition().y();
99 GlobalPoint axisThruChamber(globalR+localY, localX, 0.);
100 float localPhi = axisThruChamber.
phi().
degrees();
110 const CSCLayer * layer,
int chamberType)
115 double dphi = recHitPos.
phi() - simHitPos.
phi();
116 double rdphi = recHitPos.
perp() * dphi;
119 double dy = recHit.localPosition().y() - simHit.
localPosition().
y();
124 float recStrip = layerGeometry->
strip(recHit.localPosition());
MonitorElement * theSimHitScatterPlots[10]
MonitorElement * theYResolutionPlots[10]
const std::string & getName(void) const
get name of ME
edm::InputTag theInputTag
MonitorElement * theScatterPlots[10]
void plotResolution(const PSimHit &simHit, const CSCRecHit2D &recHit, const CSCLayer *layer, int chamberType)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Geom::Phi< T > phi() const
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)
C::const_iterator const_iterator
constant access iterator type
MonitorElement * theSimHitPosInStrip[10]
MonitorElement * theYPullPlots[10]
CSCRecHit2DValidation(DQMStore *dbe, const edm::InputTag &inputTag)
const CSCChamberSpecs * specs() const
Local3DPoint localPosition() const
const PSimHitMap * theSimHitMap
virtual ~CSCRecHit2DValidation()
const edm::PSimHitContainer & hits(int detId) const
float strip(const LocalPoint &lp) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< int > detsWithHits() const
MonitorElement * theNPerEventPlot
T const * product() const
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
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
const CSCChamber * chamber() const
const CSCLayerGeometry * geometry() const
const CSCLayer * findLayer(int detId) const
void setCurrentFolder(const std::string &fullpath)