44 xyview =
dbe_->
book2D(
"X_Vs_Y_View",
"X_Vs_Y_View", 155, -775., 775., 155, -775., 775.);
46 rzview =
dbe_->
book2D(
"R_Vs_Z_View",
"R_Vs_Z_View", 200, -1000., 1000., 52, 260., 780.);
47 Res =
dbe_->
book1D(
"Digi_SimHit_difference",
"Digi_SimHit_difference", 300, -8, 8);
135 event.getByLabel(
"g4SimHits",
"MuonRPCHits", simHit);
141 PSimHitContainer::const_iterator simIt;
144 std::map<RPCDetId, std::vector<double> > allsims;
146 for (simIt = simHit->begin(); simIt != simHit->end(); simIt++)
149 const RPCRoll* soll =
dynamic_cast<const RPCRoll*
> (rpcGeom->roll(Rsid));
150 int ptype = simIt->particleType();
153 if (ptype == 13 || ptype == -13)
156 std::vector<double> buff;
157 if (allsims.find(Rsid) != allsims.end())
159 buff = allsims[Rsid];
162 buff.push_back(simIt->localPosition().x());
164 allsims[Rsid] = buff;
170 double sim_x = p.
x();
171 double sim_y = p.
y();
178 for (detUnitIt = rpcDigis->begin(); detUnitIt != rpcDigis->end(); ++detUnitIt)
180 const RPCDetId Rsid = (*detUnitIt).first;
181 const RPCRoll* roll =
dynamic_cast<const RPCRoll*
> (rpcGeom->roll(Rsid));
188 std::vector<double> sims;
189 if (allsims.find(Rsid) != allsims.end())
191 sims = allsims[Rsid];
202 if (Rsid.
ring() == -2)
206 if (Rsid.
ring() == -1)
210 if (Rsid.
ring() == 0)
218 if (Rsid.
ring() == +1)
222 if (Rsid.
ring() == +2)
233 stripRate =
new map<int, double> ();
236 (*stripRate)[digiIt->strip()] += 1;
238 if (sims.size() == 0)
240 if (stripNoisyRate == 0)
242 stripNoisyRate =
new map<int, double> ();
245 (*stripNoisyRate)[digiIt->strip()] += 1;
254 double stripArea = 0.0;
258 const RectangularStripTopology* top_ =
dynamic_cast<const RectangularStripTopology*
> (&(roll->
topology()));
259 float xmin = (top_->localPosition(0.)).
x();
260 float xmax = (top_->localPosition((
float) roll->
nstrips())).x();
261 float striplength = (top_->stripLength());
262 area = striplength * (xmax -
xmin);
263 stripArea = area / ((float) roll->
nstrips());
267 const TrapezoidalStripTopology* top_ =
dynamic_cast<const TrapezoidalStripTopology*
> (&(roll->
topology()));
268 float xmin = (top_->localPosition(0.)).
x();
269 float xmax = (top_->localPosition((
float) roll->
nstrips())).x();
270 float striplength = (top_->stripLength());
271 area = striplength * (xmax -
xmin);
272 stripArea = area / ((float) roll->
nstrips());
276 if (sims.size() == 0)
320 if (Rsid.
ring() == 2)
324 if (Rsid.
roll() == 1)
326 if (Rsid.
roll() == 2)
328 if (Rsid.
roll() == 3)
333 if (Rsid.
roll() == 1)
335 if (Rsid.
roll() == 2)
337 if (Rsid.
roll() == 3)
341 if (Rsid.
ring() == 3)
343 if (Rsid.
roll() == 1)
345 if (Rsid.
roll() == 2)
347 if (Rsid.
roll() == 3)
353 if (sims.size() == 1 && ndigi == 1)
355 double dis = roll->
centreOfStrip(range.first->strip()).
x() - sims[0];
360 if (Rsid.
ring() == -2)
362 else if (Rsid.
ring() == -1)
364 else if (Rsid.
ring() == 0)
366 else if (Rsid.
ring() == 1)
368 else if (Rsid.
ring() == 2)
387 if (Rsid.
ring() == 2)
391 if (Rsid.
roll() == 1)
393 if (Rsid.
roll() == 2)
395 if (Rsid.
roll() == 3)
400 if (Rsid.
roll() == 1)
402 if (Rsid.
roll() == 2)
404 if (Rsid.
roll() == 3)
408 if (Rsid.
ring() == 3)
410 if (Rsid.
roll() == 1)
412 if (Rsid.
roll() == 2)
414 if (Rsid.
roll() == 3)
419 if (Rsid.
region() == (+1))
429 if (Rsid.
region() == (-1))
MonitorElement * CLS_Endcap_1_Ring2_A
MonitorElement * BxDist_wh0_st1
MonitorElement * CLS_Endcap_123_Ring3_A
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * CLS_Endcap_1_Ring2_B
LocalPoint centreOfStrip(int strip) const
MonitorElement * BxDist_whPlu1
MonitorElement * CLS_Endcap_23_Ring2_A
const Topology & topology() const
std::map< RPCDetId, double > mapRollCls
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
std::map< RPCDetId, int > mapRollTruCount
MonitorElement * ResLayer6_barrel
MonitorElement * Res_Endcap1_Ring2_A
MonitorElement * clsLayer5
std::map< RPCDetId, std::map< int, double > * > mapRollNoisyStripRate
MonitorElement * Res_Endcap123_Ring3_A
MonitorElement * ResLayer3_barrel
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
MonitorElement * BxDist_whMin1
MonitorElement * ResWplu2
RPCDigiValid(const edm::ParameterSet &ps)
MonitorElement * StripProf
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * ResWzer0
std::map< RPCDetId, double > mapRollArea
MonitorElement * BxDist_whPlu2
MonitorElement * ResDmin3
uint32_t rawId() const
get the raw id
MonitorElement * ResLayer5_barrel
MonitorElement * clsLayer6
MonitorElement * ResWmin1
MonitorElement * ResLayer2_barrel
MonitorElement * clsLayer3
MonitorElement * ResDplu3
MonitorElement * ResDmin1
MonitorElement * ResWplu1
MonitorElement * Res_Endcap123_Ring3_C
std::map< RPCDetId, std::string > mapRollName
std::map< RPCDetId, double > mapRollStripArea
MonitorElement * Res_Endcap123_Ring3_B
MonitorElement * clsLayer4
std::map< RPCDetId, int > mapRollFakeCount
MonitorElement * CLS_Endcap_123_Ring3_B
MonitorElement * ResWmin2
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * CLS_Endcap_1_Ring2_C
MonitorElement * ResDplu2
MonitorElement * Res_Endcap23_Ring2_C
MonitorElement * ResLayer1_barrel
MonitorElement * clsLayer1
MonitorElement * Res_Endcap1_Ring2_B
MonitorElement * clsLayer2
MonitorElement * noiseCLS
MonitorElement * ResDmin2
MonitorElement * BxDist_wh0
std::vector< DigiType >::const_iterator const_iterator
MonitorElement * BxDist_whMin2
MonitorElement * Res_Endcap23_Ring2_A
std::map< RPCDetId, std::map< int, double > * > mapRollStripRate
MonitorElement * clsBarrel
MonitorElement * ResLayer4_barrel
MonitorElement * CLS_Endcap_123_Ring3_C
std::pair< const_iterator, const_iterator > Range
MonitorElement * ResDplu1
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * Res_Endcap23_Ring2_B
MonitorElement * CLS_Endcap_23_Ring2_C
MonitorElement * Res_Endcap1_Ring2_C
void setCurrentFolder(const std::string &fullpath)
MonitorElement * CLS_Endcap_23_Ring2_B
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.