55 PSimHitContainer::const_iterator simIt;
58 std::map<RPCDetId, std::vector<double> > allsims;
60 for (simIt = simHit->begin(); simIt != simHit->end(); simIt++)
63 const RPCRoll* soll =
dynamic_cast<const RPCRoll*
> (rpcGeom->roll(Rsid));
64 int ptype = simIt->particleType();
67 if (ptype == 13 || ptype == -13)
70 std::vector<double> buff;
71 if (allsims.find(Rsid) != allsims.end())
76 buff.push_back(simIt->localPosition().x());
96 else if (Rsid.
region() == (-1))
109 for (detUnitIt = rpcDigis->begin(); detUnitIt != rpcDigis->end(); ++detUnitIt)
111 const RPCDetId Rsid = (*detUnitIt).first;
112 const RPCRoll* roll =
dynamic_cast<const RPCRoll*
> (rpcGeom->roll(Rsid));
120 std::vector<double> sims;
121 if (allsims.find(Rsid) != allsims.end())
123 sims = allsims[Rsid];
133 if (Rsid.
region() == (+1))
138 else if (Rsid.
region() == (-1))
148 stripRate =
new map<int, double> ();
151 (*stripRate)[digiIt->strip()] += 1;
154 if (sims.size() == 0)
156 if (stripNoisyRate == 0)
158 stripNoisyRate =
new map<int, double> ();
161 (*stripNoisyRate)[digiIt->strip()] += 1;
171 double stripArea = 0.0;
175 const RectangularStripTopology* top_ =
dynamic_cast<const RectangularStripTopology*
> (&(roll->
topology()));
176 float xmin = (top_->localPosition(0.)).
x();
177 float xmax = (top_->localPosition((
float) roll->
nstrips())).x();
178 float striplength = (top_->stripLength());
179 area = striplength * (xmax -
xmin);
180 stripArea = area / ((float) roll->
nstrips());
184 const TrapezoidalStripTopology* top_ =
dynamic_cast<const TrapezoidalStripTopology*
> (&(roll->
topology()));
185 float xmin = (top_->localPosition(0.)).
x();
186 float xmax = (top_->localPosition((
float) roll->
nstrips())).x();
187 float striplength = (top_->stripLength());
188 area = striplength * (xmax -
xmin);
189 stripArea = area / ((float) roll->
nstrips());
194 if (sims.size() == 0)
221 if (Rsid.
ring() == 2)
225 if (Rsid.
roll() == 1)
227 if (Rsid.
roll() == 2)
229 if (Rsid.
roll() == 3)
234 if (Rsid.
roll() == 1)
236 if (Rsid.
roll() == 2)
238 if (Rsid.
roll() == 3)
242 if (Rsid.
ring() == 3)
244 if (Rsid.
roll() == 1)
246 if (Rsid.
roll() == 2)
248 if (Rsid.
roll() == 3)
256 if (sims.size() == 1 && ndigi == 1)
258 double dis = roll->
centreOfStrip(range.first->strip()).
x() - sims[0];
263 if (Rsid.
ring() == -2)
265 else if (Rsid.
ring() == -1)
267 else if (Rsid.
ring() == 0)
269 else if (Rsid.
ring() == 1)
271 else if (Rsid.
ring() == 2)
290 if (Rsid.
ring() == 2)
294 if (Rsid.
roll() == 1)
296 if (Rsid.
roll() == 2)
298 if (Rsid.
roll() == 3)
303 if (Rsid.
roll() == 1)
305 if (Rsid.
roll() == 2)
307 if (Rsid.
roll() == 3)
311 if (Rsid.
ring() == 3)
313 if (Rsid.
roll() == 1)
315 if (Rsid.
roll() == 2)
317 if (Rsid.
roll() == 3)
322 if (Rsid.
region() == (+1))
334 if (Rsid.
region() == (-1))
369 xyview =
dbe_->
book2D(
"X_Vs_Y_View",
"X_Vs_Y_View", 155, -775., 775., 155, -775., 775.);
371 xyvDplu4 =
dbe_->
book2D(
"Dplu4_XvsY",
"Dplu4_XvsY", 155, -775., 775., 155, -775., 775.);
372 xyvDmin4 =
dbe_->
book2D(
"Dmin4_XvsY",
"Dmin4_XvsY", 155, -775., 775., 155, -775., 775.);
374 rzview =
dbe_->
book2D(
"R_Vs_Z_View",
"R_Vs_Z_View", 216, -1080., 1080., 52, 260., 780.);
375 Res =
dbe_->
book1D(
"Digi_SimHit_difference",
"Digi_SimHit_difference", 300, -8, 8);
MonitorElement * CLS_Endcap_1_Ring2_A
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 * 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 * noiseCLSEndcaps
MonitorElement * ResLayer6_barrel
MonitorElement * Res_Endcap1_Ring2_A
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.
MonitorElement * CLS_Endcap_4
MonitorElement * ResWplu2
RPCDigiValid(const edm::ParameterSet &ps)
MonitorElement * BxDisc_4Min
MonitorElement * StripProf
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * ResWzer0
std::map< RPCDetId, double > mapRollArea
void beginRun(edm::Run const &, edm::EventSetup const &)
MonitorElement * ResDmin3
uint32_t rawId() const
get the raw id
MonitorElement * ResLayer5_barrel
MonitorElement * ResWmin1
MonitorElement * ResLayer2_barrel
MonitorElement * ResDplu4
MonitorElement * ResDplu3
MonitorElement * ResDmin1
MonitorElement * ResWplu1
MonitorElement * Res_Endcap123_Ring3_C
MonitorElement * BxDisc_4Plus
std::map< RPCDetId, std::string > mapRollName
Abs< T >::type abs(const T &t)
std::map< RPCDetId, double > mapRollStripArea
MonitorElement * Res_Endcap123_Ring3_B
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
std::map< RPCDetId, int > mapRollFakeCount
MonitorElement * CLS_Endcap_123_Ring3_B
MonitorElement * ResWmin2
MonitorElement * xyvDmin4
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 * Res_Endcap1_Ring2_B
MonitorElement * noiseCLS
MonitorElement * ResDmin2
std::vector< RPCDigi >::const_iterator const_iterator
edm::EDGetTokenT< RPCDigiCollection > rpcDigiToken
MonitorElement * Res_Endcap23_Ring2_A
std::map< RPCDetId, std::map< int, double > * > mapRollStripRate
MonitorElement * clsBarrel
MonitorElement * ResDmin4
MonitorElement * ResLayer4_barrel
MonitorElement * CLS_Endcap_123_Ring3_C
std::pair< const_iterator, const_iterator > Range
MonitorElement * ResDplu1
edm::EDGetTokenT< edm::PSimHitContainer > simHitToken
void endRun(edm::Run const &, edm::EventSetup const &)
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 * xyvDplu4
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.
MonitorElement * noiseCLSBarrel