CMS 3D CMS Logo

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

#include <EgammaHLTRegionalPixelSeedGeneratorProducers.h>

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

Public Member Functions

virtual void beginRun (edm::Run const &run, const edm::EventSetup &es) overridefinal
 
 EgammaHLTRegionalPixelSeedGeneratorProducers (const edm::ParameterSet &conf)
 
virtual void endRun (edm::Run const &run, const edm::EventSetup &es) overridefinal
 
virtual void produce (edm::Event &e, const edm::EventSetup &c)
 
virtual ~EgammaHLTRegionalPixelSeedGeneratorProducers ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotBSProducer_
 
edm::EDGetTokenT
< reco::RecoEcalCandidateCollection
candTag_
 
edm::EDGetTokenT
< reco::ElectronCollection
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
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 31 of file EgammaHLTRegionalPixelSeedGeneratorProducers.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

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

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

Definition at line 64 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

64  {
65 }

Member Function Documentation

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

Reimplemented from edm::EDProducer.

Definition at line 98 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

References edm::ParameterSet::addParameter(), combinatorialSeedGenerator, conf_, SurfaceDeformationFactory::create(), reco::get(), edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

99 {
100  edm::ParameterSet hitsfactoryPSet = conf_.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
101  std::string hitsfactoryName = hitsfactoryPSet.getParameter<std::string>("ComponentName");
102 
103  // get orderd hits generator from factory
104  OrderedHitsGenerator* hitsGenerator = OrderedHitsGeneratorFactory::get()->create( hitsfactoryName, hitsfactoryPSet);
105 
106  // start seed generator
107  edm::ParameterSet creatorPSet;
108  creatorPSet.addParameter<std::string>("propagator","PropagatorWithMaterial");
109 
111  SeedCreatorFactory::get()->create("SeedFromConsecutiveHitsCreator", creatorPSet)
112  );
113 }
T getParameter(std::string const &) const
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:142
SurfaceDeformation * create(int type, const std::vector< double > &params)
T get(const Candidate &c)
Definition: component.h:55
void EgammaHLTRegionalPixelSeedGeneratorProducers::endRun ( edm::Run const &  run,
const edm::EventSetup es 
)
finaloverridevirtual
void EgammaHLTRegionalPixelSeedGeneratorProducers::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 67 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and AlCaHLTBitMon_QueryRunRegistry::string.

67  {
68 
70  desc.add<double>("ptMin", 1.5);
71  desc.add<double>("vertexZ", 0);
72  desc.add<double>("originRadius", 0.02);
73  desc.add<double>("originHalfLength", 15.0);
74  desc.add<double>("deltaEtaRegion", 0.3);
75  desc.add<double>("deltaPhiRegion", 0.3);
76  desc.add<edm::InputTag>(("candTag"), edm::InputTag("hltL1SeededRecoEcalCandidate"));
77  desc.add<edm::InputTag>(("candTagEle"), edm::InputTag("pixelMatchElectrons"));
78  desc.add<edm::InputTag>(("BSProducer"), edm::InputTag("hltOnlineBeamSpot"));
79  desc.add<bool>(("UseZInVertex"), false);
80  desc.add<std::string>("TTRHBuilder", "WithTrackAngle");
81 
82  edm::ParameterSetDescription orederedHitsPSET;
83  orederedHitsPSET.add<std::string>("ComponentName", "StandardHitPairGenerator");
84  orederedHitsPSET.add<std::string>("SeedingLayers", "hltESPPixelLayerPairs");
85  orederedHitsPSET.add<unsigned int>("maxElement", 0);
86  desc.add<edm::ParameterSetDescription>("OrderedHitsFactoryPSet", orederedHitsPSET);
87 
88  descriptions.add(("hltEgammaHLTRegionalPixelSeedGeneratorProducers"), desc);
89 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void EgammaHLTRegionalPixelSeedGeneratorProducers::produce ( edm::Event e,
const edm::EventSetup c 
)
virtual

Implements edm::EDProducer.

Definition at line 116 of file EgammaHLTRegionalPixelSeedGeneratorProducers.cc.

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

117 {
118 
119  // resulting collection
120  std::auto_ptr<TrajectorySeedCollection> output(new TrajectorySeedCollection());
121 
122  // Get the recoEcalCandidates
124  iEvent.getByToken(candTag_,recoecalcands);
125 
126  //Get the Beam Spot position
127  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
128  iEvent.getByToken(BSProducer_,recoBeamSpotHandle);
129  // gets its position
130  const BeamSpot::Point& BSPosition = recoBeamSpotHandle->position();
131 
132  //Get the HLT electrons collection if needed
134  if(useZvertex_)
135  iEvent.getByToken(candTagEle_,electronHandle);
136 
137  reco::SuperClusterRef scRef;
138  for (reco::RecoEcalCandidateCollection::const_iterator recoecalcand= recoecalcands->begin(); recoecalcand!=recoecalcands->end(); recoecalcand++) {
139  scRef = recoecalcand->superCluster();
140  float zvertex = 0;
141  if( useZvertex_ ){
142  reco::SuperClusterRef scRefEle;
143  for(reco::ElectronCollection::const_iterator iElectron = electronHandle->begin(); iElectron != electronHandle->end(); iElectron++){
144  //Compare electron SC with EcalCandidate SC
145  scRefEle = iElectron->superCluster();
146  if(&(*scRef) == &(*scRefEle)){
147  if(iElectron->track().isNonnull()) zvertex = iElectron->track()->vz();
148  else zvertex = iElectron->gsfTrack()->vz();
149  break;
150  }
151  }
152 
153  }
154  GlobalVector dirVector((recoecalcand)->px(),(recoecalcand)->py(),(recoecalcand)->pz());
155  RectangularEtaPhiTrackingRegion etaphiRegion( dirVector,
156  GlobalPoint( BSPosition.x(), BSPosition.y(), zvertex ),
157  ptmin_,
159  halflength_,
160  deltaEta_,
161  deltaPhi_);
162 
163  // fill Trajectory seed collection
164  combinatorialSeedGenerator->run(*output, etaphiRegion, iEvent, iSetup);
165 
166  }
167 
168  iEvent.put(output);
169 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:29
int iEvent
Definition: GenABIO.cc:243
std::vector< TrajectorySeed > TrajectorySeedCollection
edm::EDGetTokenT< reco::RecoEcalCandidateCollection > candTag_
void run(TrajectorySeedCollection &seedCollection, const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es)

Member Data Documentation

edm::EDGetTokenT<reco::BeamSpot> EgammaHLTRegionalPixelSeedGeneratorProducers::BSProducer_
private
edm::EDGetTokenT<reco::RecoEcalCandidateCollection> EgammaHLTRegionalPixelSeedGeneratorProducers::candTag_
private
edm::EDGetTokenT<reco::ElectronCollection> EgammaHLTRegionalPixelSeedGeneratorProducers::candTagEle_
private
SeedGeneratorFromRegionHits* EgammaHLTRegionalPixelSeedGeneratorProducers::combinatorialSeedGenerator
private

Definition at line 47 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