CMS 3D CMS Logo

Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

RPCPointProducer Class Reference

#include <Analysis/RPCPointProducer/src/RPCPointProducer.cc>

Inheritance diagram for RPCPointProducer:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 RPCPointProducer (const edm::ParameterSet &)
 ~RPCPointProducer ()

Public Attributes

edm::InputTag cscSegments
edm::InputTag dt4DSegments
edm::InputTag tracks

Private Member Functions

virtual void beginJob ()
virtual void endJob ()
virtual void produce (edm::Event &, const edm::EventSetup &)

Private Attributes

bool debug
double ExtrapolatedRegion
bool inclcsc
bool incldt
bool incltrack
double MaxD
double MaxDistanceBetweenSegments
double MaxDrb4
double MinCosAng
edm::ParameterSet serviceParameters
edm::ParameterSet trackTransformerParam

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 22 of file RPCPointProducer.h.


Constructor & Destructor Documentation

RPCPointProducer::RPCPointProducer ( const edm::ParameterSet iConfig) [explicit]

Definition at line 29 of file RPCPointProducer.cc.

References cscSegments, debug, dt4DSegments, ExtrapolatedRegion, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), inclcsc, incldt, incltrack, MaxD, MaxDrb4, MinCosAng, tracks, and trackTransformerParam.

{
  cscSegments=iConfig.getParameter<edm::InputTag>("cscSegments");
  dt4DSegments=iConfig.getParameter<edm::InputTag>("dt4DSegments");
  tracks=iConfig.getParameter<edm::InputTag>("tracks");

  debug=iConfig.getUntrackedParameter<bool>("debug",false);
  incldt=iConfig.getUntrackedParameter<bool>("incldt",true);
  inclcsc=iConfig.getUntrackedParameter<bool>("inclcsc",true);
  incltrack=iConfig.getUntrackedParameter<bool>("incltrack",true);
  MinCosAng=iConfig.getUntrackedParameter<double>("MinCosAng",0.95);
  MaxD=iConfig.getUntrackedParameter<double>("MaxD",80.);
  MaxDrb4=iConfig.getUntrackedParameter<double>("MaxDrb4",150.);
  ExtrapolatedRegion=iConfig.getUntrackedParameter<double>("ExtrapolatedRegion",0.5);

  produces<RPCRecHitCollection>("RPCDTExtrapolatedPoints");
  produces<RPCRecHitCollection>("RPCCSCExtrapolatedPoints");
  produces<RPCRecHitCollection>("RPCTrackExtrapolatedPoints");
  trackTransformerParam = iConfig.getParameter<edm::ParameterSet>("TrackTransformer");  
}
RPCPointProducer::~RPCPointProducer ( )

Definition at line 51 of file RPCPointProducer.cc.

                                   {

}

Member Function Documentation

void RPCPointProducer::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDProducer.

Definition at line 104 of file RPCPointProducer.cc.

{
}
void RPCPointProducer::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDProducer.

Definition at line 110 of file RPCPointProducer.cc.

                         {
}
void RPCPointProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDProducer.

Definition at line 55 of file RPCPointProducer.cc.

References gather_cfg::cout, cscSegments, debug, dt4DSegments, ExtrapolatedRegion, edm::Event::getByLabel(), inclcsc, incldt, incltrack, edm::HandleBase::isValid(), edm::Event::put(), CSCSegtoRPC::thePoints(), DTSegtoRPC::thePoints(), TracktoRPC::thePoints(), tracks, and trackTransformerParam.

                                                                           {
  /*
  struct timespec start_time, stop_time;
  time_t fs;
  time_t fn;
  time_t ls;
  time_t ln;
  clock_gettime(CLOCK_REALTIME, &start_time);  
  */

  if(incldt){
    edm::Handle<DTRecSegment4DCollection> all4DSegments;
    iEvent.getByLabel(dt4DSegments, all4DSegments);
    if(all4DSegments.isValid()){
      DTSegtoRPC DTClass(all4DSegments,iSetup,iEvent,debug,ExtrapolatedRegion);
      std::auto_ptr<RPCRecHitCollection> TheDTPoints(DTClass.thePoints());     
      iEvent.put(TheDTPoints,"RPCDTExtrapolatedPoints"); 
    }else{
      if(debug) std::cout<<"RPCHLT Invalid DTSegments collection"<<std::endl;
    }
  }

  if(inclcsc){
    edm::Handle<CSCSegmentCollection> allCSCSegments;
    iEvent.getByLabel(cscSegments, allCSCSegments);
    if(allCSCSegments.isValid()){
      CSCSegtoRPC CSCClass(allCSCSegments,iSetup,iEvent,debug,ExtrapolatedRegion);
      std::auto_ptr<RPCRecHitCollection> TheCSCPoints(CSCClass.thePoints());  
      iEvent.put(TheCSCPoints,"RPCCSCExtrapolatedPoints"); 
    }else{
      if(debug) std::cout<<"RPCHLT Invalid CSCSegments collection"<<std::endl;
    }
  }
  if(incltrack){
    edm::Handle<reco::TrackCollection> alltracks;
    iEvent.getByLabel(tracks,alltracks);
    if(!(alltracks->empty())){
      TracktoRPC TrackClass(alltracks,iSetup,iEvent,debug,trackTransformerParam,tracks);
      std::auto_ptr<RPCRecHitCollection> TheTrackPoints(TrackClass.thePoints());
      iEvent.put(TheTrackPoints,"RPCTrackExtrapolatedPoints");
    }else{
      std::cout<<"RPCHLT Invalid Tracks collection"<<std::endl;
    }
  }
 
}

Member Data Documentation

Definition at line 26 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

bool RPCPointProducer::debug [private]

Definition at line 36 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

Definition at line 27 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

Definition at line 41 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

bool RPCPointProducer::inclcsc [private]

Definition at line 34 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

bool RPCPointProducer::incldt [private]

Definition at line 33 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

Definition at line 35 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

double RPCPointProducer::MaxD [private]

Definition at line 38 of file RPCPointProducer.h.

Referenced by RPCPointProducer().

Definition at line 40 of file RPCPointProducer.h.

double RPCPointProducer::MaxDrb4 [private]

Definition at line 39 of file RPCPointProducer.h.

Referenced by RPCPointProducer().

double RPCPointProducer::MinCosAng [private]

Definition at line 37 of file RPCPointProducer.h.

Referenced by RPCPointProducer().

Definition at line 43 of file RPCPointProducer.h.

Definition at line 28 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().

Definition at line 42 of file RPCPointProducer.h.

Referenced by produce(), and RPCPointProducer().