CMS 3D CMS Logo

List of all members | Public Member Functions
RPCRecHitBaseAlgo Class Referenceabstract

#include <RPCRecHitBaseAlgo.h>

Inheritance diagram for RPCRecHitBaseAlgo:
RPCRecHitStandardAlgo

Public Member Functions

virtual bool compute (const RPCRoll &roll, const RPCCluster &cl, LocalPoint &Point, LocalError &error, float &time, float &timeErr) const =0
 standard local recHit computation More...
 
virtual bool compute (const RPCRoll &roll, const RPCCluster &cl, const float &angle, const GlobalPoint &globPos, LocalPoint &Point, LocalError &error, float &time, float &timeErr) const =0
 
virtual edm::OwnVector< RPCRecHitreconstruct (const RPCRoll &roll, const RPCDetId &rpcId, const RPCDigiCollection::Range &digiRange, const RollMask &mask)
 Build all hits in the range associated to the rpcId, at the 1st step. More...
 
 RPCRecHitBaseAlgo (const edm::ParameterSet &config)
 Constructor. More...
 
virtual void setES (const edm::EventSetup &setup)=0
 Pass the Event Setup to the algo at each event. More...
 
virtual ~RPCRecHitBaseAlgo ()
 Destructor. More...
 

Detailed Description

Abstract algorithmic class to compute Rec Hit form a RPC digi

Author
M. Maggi – INFN Bari

Definition at line 30 of file RPCRecHitBaseAlgo.h.

Constructor & Destructor Documentation

RPCRecHitBaseAlgo::RPCRecHitBaseAlgo ( const edm::ParameterSet config)

Constructor.

Definition at line 13 of file RPCRecHitBaseAlgo.cc.

13  {
14  // theSync = RPCTTrigSyncFactory::get()->create(config.getParameter<string>("tTrigMode"),
15  //config.getParameter<ParameterSet>("tTrigModeConfig"));
16 }
virtual RPCRecHitBaseAlgo::~RPCRecHitBaseAlgo ( )
inlinevirtual

Member Function Documentation

virtual bool RPCRecHitBaseAlgo::compute ( const RPCRoll roll,
const RPCCluster cl,
LocalPoint Point,
LocalError error,
float &  time,
float &  timeErr 
) const
pure virtual

standard local recHit computation

Implemented in RPCRecHitStandardAlgo.

Referenced by reconstruct().

virtual bool RPCRecHitBaseAlgo::compute ( const RPCRoll roll,
const RPCCluster cl,
const float &  angle,
const GlobalPoint globPos,
LocalPoint Point,
LocalError error,
float &  time,
float &  timeErr 
) const
pure virtual

local recHit computation accounting for track direction and absolute position

Implemented in RPCRecHitStandardAlgo.

edm::OwnVector< RPCRecHit > RPCRecHitBaseAlgo::reconstruct ( const RPCRoll roll,
const RPCDetId rpcId,
const RPCDigiCollection::Range digiRange,
const RollMask mask 
)
virtual

Build all hits in the range associated to the rpcId, at the 1st step.

Definition at line 19 of file RPCRecHitBaseAlgo.cc.

References GetRecoTauVFromDQM_MC_cff::cl, compute(), RPCClusterizer::doAction(), RPCMaskReClusterizer::doAction(), point, edm::OwnVector< T, P >::push_back(), rpcPointValidation_cfi::recHit, mps_fire::result, RPCRecHit::setTimeAndError(), and ntuplemaker::time.

22  {
24 
25  RPCClusterizer clizer;
26  RPCClusterContainer tcls = clizer.doAction(digiRange);
27  RPCMaskReClusterizer mrclizer;
28  RPCClusterContainer cls = mrclizer.doAction(rpcId,tcls,mask);
29 
30  for ( auto cl : cls ) {
31  LocalError tmpErr;
33  float time = 0, timeErr = -1;
34 
35  // Call the compute method
36  const bool OK = this->compute(roll, cl, point, tmpErr, time, timeErr);
37  if (!OK) continue;
38 
39  // Build a new pair of 1D rechit
40  const int firstClustStrip = cl.firstStrip();
41  const int clusterSize = cl.clusterSize();
42  RPCRecHit* recHit = new RPCRecHit(rpcId,cl.bx(),firstClustStrip,clusterSize,point,tmpErr);
43  if ( timeErr >= 0 ) recHit->setTimeAndError(time, timeErr);
44 
45  result.push_back(recHit);
46  }
47 
48  return result;
49 }
RPCClusterContainer doAction(const RPCDigiCollection::Range &digiRange)
void push_back(D *&d)
Definition: OwnVector.h:290
void setTimeAndError(float time, float err)
Set the time and its error.
Definition: RPCRecHit.h:96
std::pair< int, edm::FunctionWithDict > OK
Definition: findMethod.cc:136
RPCClusterContainer doAction(const RPCDetId &id, RPCClusterContainer &initClusters, const RollMask &mask) const
virtual bool compute(const RPCRoll &roll, const RPCCluster &cl, LocalPoint &Point, LocalError &error, float &time, float &timeErr) const =0
standard local recHit computation
std::set< RPCCluster > RPCClusterContainer
*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
Definition: invegas.h:5
virtual void RPCRecHitBaseAlgo::setES ( const edm::EventSetup setup)
pure virtual

Pass the Event Setup to the algo at each event.

Implemented in RPCRecHitStandardAlgo.