12 bool outOfTime =
false;
13 bool increasing =
true;
14 bool anydifferentzero =
true;
15 bool anydifferentone =
true;
19 std::sort(HSCPRPCRecHits.begin(), HSCPRPCRecHits.end());
21 for(std::vector<susybsm::RPCHit4D>::iterator
point = HSCPRPCRecHits.begin();
point < HSCPRPCRecHits.end(); ++
point) {
22 outOfTime |= (
point->bx!=0);
23 increasing &= (
point->bx>=lastbx);
24 anydifferentzero &= (!
point->bx==0);
25 anydifferentone &= (!
point->bx==1);
41 float maginfirstknee = 0;
42 for(std::vector<susybsm::RPCHit4D>::iterator
point = HSCPRPCRecHits.begin();
point < HSCPRPCRecHits.end(); ++
point) {
44 maginfirstknee =
point->gp.mag();
45 }
else if((lastbx!=
point->bx)){
47 maginknee=
point->gp.mag();
55 betavalue=maginfirstknee/(25.-delay+maginfirstknee/30.)/30.;
61 if(!anydifferentzero){
62 betavalue=maginknee/(25-delay+maginknee/30.)/30.;
63 }
else if(!anydifferentone){
64 betavalue=maginknee/(50-delay+maginknee/30.)/30.;
66 betavalue1=maginknee/(25-delay+maginknee/30.)/30.;
67 float dr =(maginknee-maginfirstknee);
68 betavalue2 = dr/(25.-delay+dr/30.);
70 betavalue = (betavalue1 + betavalue2)*0.5;
79 for(std::vector<susybsm::RPCHit4D>::iterator
point = HSCPRPCRecHits.begin();
point < HSCPRPCRecHits.end(); ++
point) {
81 maginfirstknee =
point->gp.mag();
82 }
else if((lastbx!=
point->bx)){
86 float maginsecondknee=
point->gp.mag();
87 betavalue1=maginknee/(25-delay+maginknee/30.)/30.;
88 float dr =(maginknee-maginsecondknee);
89 betavalue2 = dr/(25.+dr/30.);
95 betavalue = (betavalue1 + betavalue2)*0.5;
105 if(HSCPRPCRecHits.size()==0){
124 std::vector<RPCHit4D> hits;
130 start = candidate.
muonRef()->combinedMuon()->recHitsBegin();
131 stop = candidate.
muonRef()->combinedMuon()->recHitsEnd();
133 start = candidate.
muonRef()->standAloneMuon()->recHitsBegin();
134 stop = candidate.
muonRef()->standAloneMuon()->recHitsEnd();
147 if ( (*recHit)->geographicalId().det() !=
DetId::Muon )
continue;
148 if (!(*recHit)->isValid())
continue;
152 typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
153 rangeRecHits recHitCollection = rpcHits->get(rollId);
157 for(recHitC = recHitCollection.first; recHitC != recHitCollection.second ; recHitC++) {
158 clusterS=(*recHitC).clusterSize();
164 if(clusterS>4)
continue;
166 LocalPoint recHitPos=(*recHit)->localPosition();
167 const RPCRoll* rollasociated = rpcGeo->roll(rollId);
171 ThisHit.
bx = ((
RPCRecHit*)(&(**recHit)))->BunchX();
173 ThisHit.
id = (
RPCDetId)(*recHit)->geographicalId().rawId();
174 hits.push_back(ThisHit);
180 bool increasing =
true;
181 bool outOfTime =
false;
182 for(std::vector<RPCHit4D>::iterator
point = hits.begin();
point < hits.end(); ++
point) {
183 outOfTime |= (
point->bx!=0);
184 increasing &= (
point->bx>=lastbx);
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
T getParameter(std::string const &) const
void addInfoToCandidate(HSCParticle &candidate, const edm::Event &iEvent, const edm::EventSetup &iSetup)
bool isNonnull() const
Checks for non-null.
C::const_iterator const_iterator
constant access iterator type
edm::InputTag rpcRecHitsLabel
BetaCalculatorRPC(const edm::ParameterSet &iConfig)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
reco::MuonRef muonRef() const
void setRpc(const RPCBetaMeasurement &data)
void algo(std::vector< susybsm::RPCHit4D > HSCPRPCRecHits)
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
tuple size
Write out results.
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point