CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
EgammaHLTRegionalPixelSeedGeneratorProducers Class Reference

#include <EgammaHLTRegionalPixelSeedGeneratorProducers.h>

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

Public Member Functions

virtual void beginRun (edm::Run &run, const edm::EventSetup &es)
 
 EgammaHLTRegionalPixelSeedGeneratorProducers (const edm::ParameterSet &conf)
 
virtual void endRun (edm::Run &run, const edm::EventSetup &es)
 
virtual void produce (edm::Event &e, const edm::EventSetup &c)
 
virtual ~EgammaHLTRegionalPixelSeedGeneratorProducers ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Attributes

edm::InputTag BSProducer_
 
edm::InputTag candTag_
 
edm::InputTag candTagEle_
 
SeedGeneratorFromRegionHitscombinatorialSeedGenerator
 
edm::ParameterSet conf_
 
double deltaEta_
 
double deltaPhi_
 
double halflength_
 
double originradius_
 
double originz_
 
double ptmin_
 
bool useZvertex_
 
double vertexz_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Definition at line 26 of file EgammaHLTRegionalPixelSeedGeneratorProducers.h.

Constructor & Destructor Documentation

EgammaHLTRegionalPixelSeedGeneratorProducers::EgammaHLTRegionalPixelSeedGeneratorProducers ( const edm::ParameterSet conf)
explicit

Definition at line 46 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

References BSProducer_, candTag_, candTagEle_, conf_, deltaEta_, deltaPhi_, edm::ParameterSet::getParameter(), halflength_, originradius_, ptmin_, useZvertex_, and vertexz_.

47 {
48 
49  produces<TrajectorySeedCollection>();
50 
51  ptmin_ = conf_.getParameter<double>("ptMin");
52  vertexz_ = conf_.getParameter<double>("vertexZ");
53  originradius_= conf_.getParameter<double>("originRadius");
54  halflength_ = conf_.getParameter<double>("originHalfLength");
55  deltaEta_ = conf_.getParameter<double>("deltaEtaRegion");
56  deltaPhi_ = conf_.getParameter<double>("deltaPhiRegion");
57  candTag_ = conf_.getParameter< edm::InputTag > ("candTag");
58  candTagEle_ = conf_.getParameter< edm::InputTag > ("candTagEle");
59  useZvertex_ = conf_.getParameter<bool>("UseZInVertex");
60  BSProducer_ = conf.getParameter<edm::InputTag>("BSProducer");
61  // setup orderedhits setup (in order to tell seed generator to use pairs/triplets, which layers)
62 }
T getParameter(std::string const &) const
EgammaHLTRegionalPixelSeedGeneratorProducers::~EgammaHLTRegionalPixelSeedGeneratorProducers ( )
virtual

Definition at line 65 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

65  {
66 }

Member Function Documentation

void EgammaHLTRegionalPixelSeedGeneratorProducers::beginRun ( edm::Run run,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::EDProducer.

Definition at line 75 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

References combinatorialSeedGenerator, conf_, reco::get(), and edm::ParameterSet::getParameter().

76 {
77  edm::ParameterSet hitsfactoryPSet =
78  conf_.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
79  std::string hitsfactoryName = hitsfactoryPSet.getParameter<std::string>("ComponentName");
80 
81  // get orderd hits generator from factory
82  OrderedHitsGenerator* hitsGenerator =
83  OrderedHitsGeneratorFactory::get()->create( hitsfactoryName, hitsfactoryPSet);
84 
85  // start seed generator
87 }
T getParameter(std::string const &) const
T get(const Candidate &c)
Definition: component.h:56
void EgammaHLTRegionalPixelSeedGeneratorProducers::endRun ( edm::Run run,
const edm::EventSetup es 
)
virtual
void EgammaHLTRegionalPixelSeedGeneratorProducers::produce ( edm::Event e,
const edm::EventSetup c 
)
virtual

Implements edm::EDProducer.

Definition at line 90 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

References BSProducer_, candTag_, candTagEle_, combinatorialSeedGenerator, deltaEta_, deltaPhi_, edm::Event::getByLabel(), halflength_, originradius_, convertSQLitetoXML_cfg::output, ptmin_, edm::Event::put(), SeedGeneratorFromRegionHits::run(), and useZvertex_.

91 {
92 
93  // resulting collection
94  std::auto_ptr<TrajectorySeedCollection> output(new TrajectorySeedCollection());
95 
96  // Get the recoEcalCandidates
98  iEvent.getByLabel(candTag_,recoecalcands);
99 
100  //Get the Beam Spot position
101  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
102  // iEvent.getByType(recoBeamSpotHandle);
103  iEvent.getByLabel(BSProducer_,recoBeamSpotHandle);
104  // gets its position
105  const BeamSpot::Point& BSPosition = recoBeamSpotHandle->position();
106 
107  //Get the HLT electrons collection if needed
109  if(useZvertex_){iEvent.getByLabel(candTagEle_,electronHandle);}
110 
111  reco::SuperClusterRef scRef;
112  for (reco::RecoEcalCandidateCollection::const_iterator recoecalcand= recoecalcands->begin(); recoecalcand!=recoecalcands->end(); recoecalcand++) {
113  scRef = recoecalcand->superCluster();
114  float zvertex = 0;
115  if( useZvertex_ ){
116  reco::SuperClusterRef scRefEle;
117  for(reco::ElectronCollection::const_iterator iElectron = electronHandle->begin(); iElectron != electronHandle->end(); iElectron++){
118  //Compare electron SC with EcalCandidate SC
119  scRefEle = iElectron->superCluster();
120  if(&(*scRef) == &(*scRefEle)){
121  zvertex = iElectron->track()->vz();
122  break;
123  }
124  }
125 
126  }
127  GlobalVector dirVector((recoecalcand)->px(),(recoecalcand)->py(),(recoecalcand)->pz());
128  RectangularEtaPhiTrackingRegion etaphiRegion( dirVector,
129  GlobalPoint( BSPosition.x(), BSPosition.y(), zvertex ),
130  ptmin_,
132  halflength_,
133  deltaEta_,
134  deltaPhi_);
135 
136  // fill Trajectory seed collection
137  combinatorialSeedGenerator->run(*output, etaphiRegion, iEvent, iSetup);
138 
139  }
140 
141  iEvent.put(output);
142 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:30
int iEvent
Definition: GenABIO.cc:243
std::vector< TrajectorySeed > TrajectorySeedCollection
void run(TrajectorySeedCollection &seedCollection, const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es)

Member Data Documentation

edm::InputTag EgammaHLTRegionalPixelSeedGeneratorProducers::BSProducer_
private
edm::InputTag EgammaHLTRegionalPixelSeedGeneratorProducers::candTag_
private
edm::InputTag EgammaHLTRegionalPixelSeedGeneratorProducers::candTagEle_
private
SeedGeneratorFromRegionHits* EgammaHLTRegionalPixelSeedGeneratorProducers::combinatorialSeedGenerator
private

Definition at line 42 of file EgammaHLTRegionalPixelSeedGeneratorProducers.h.

Referenced by beginRun(), endRun(), and produce().

edm::ParameterSet EgammaHLTRegionalPixelSeedGeneratorProducers::conf_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::deltaEta_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::deltaPhi_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::halflength_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::originradius_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::originz_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::ptmin_
private
bool EgammaHLTRegionalPixelSeedGeneratorProducers::useZvertex_
private
double EgammaHLTRegionalPixelSeedGeneratorProducers::vertexz_
private