CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::CentralityProducer Class Reference
Inheritance diagram for reco::CentralityProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 CentralityProducer (const edm::ParameterSet &)
 
 ~CentralityProducer () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

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

Private Attributes

edm::ESHandle< CaloGeometrycGeo
 
bool doPixelCut_
 
double hfEtaCut_
 
bool lowGainZDC_
 
double midRapidityRange_
 
bool produceEcalhits_
 
bool produceETmidRap_
 
bool produceHFhits_
 
bool produceHFtowers_
 
bool producePixelhits_
 
bool producePixelTracks_
 
bool produceTracks_
 
bool produceZDChits_
 
bool recoLevel_
 
bool reuseAny_
 
edm::EDGetTokenT< CentralityreuseTag_
 
edm::EDGetTokenT< EcalRecHitCollectionsrcEBhits_
 
edm::EDGetTokenT< EcalRecHitCollectionsrcEEhits_
 
edm::EDGetTokenT< HFRecHitCollectionsrcHFhits_
 
edm::EDGetTokenT< SiPixelRecHitCollectionsrcPixelhits_
 
edm::EDGetTokenT< TrackCollectionsrcPixelTracks_
 
edm::EDGetTokenT< CaloTowerCollectionsrcTowers_
 
edm::EDGetTokenT< TrackCollectionsrcTracks_
 
edm::EDGetTokenT< VertexCollectionsrcVertex_
 
edm::EDGetTokenT< ZDCRecHitCollectionsrcZDChits_
 
edm::ESHandle< TrackerGeometrytGeo
 
double trackEtaCut_
 
double trackPtCut_
 
reco::TrackBase::TrackQuality trackQuality_
 
bool useQuality_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 53 of file CentralityProducer.cc.

Constructor & Destructor Documentation

reco::CentralityProducer::CentralityProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 117 of file CentralityProducer.cc.

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

117  {
118  //register your products
119  produceHFhits_ = iConfig.getParameter<bool>("produceHFhits");
120  produceHFtowers_ = iConfig.getParameter<bool>("produceHFtowers");
121  produceEcalhits_ = iConfig.getParameter<bool>("produceEcalhits");
122  produceZDChits_ = iConfig.getParameter<bool>("produceZDChits");
123  produceETmidRap_ = iConfig.getParameter<bool>("produceETmidRapidity");
124  producePixelhits_ = iConfig.getParameter<bool>("producePixelhits");
125  produceTracks_ = iConfig.getParameter<bool>("produceTracks");
126  producePixelTracks_ = iConfig.getParameter<bool>("producePixelTracks");
127 
128  midRapidityRange_ = iConfig.getParameter<double>("midRapidityRange");
129  trackPtCut_ = iConfig.getParameter<double>("trackPtCut");
130  trackEtaCut_ = iConfig.getParameter<double>("trackEtaCut");
131 
132  hfEtaCut_ = iConfig.getParameter<double>("hfEtaCut");
133 
134  if(produceHFhits_) srcHFhits_ = consumes<HFRecHitCollection>(iConfig.getParameter<edm::InputTag>("srcHFhits"));
135  if(produceHFtowers_ || produceETmidRap_) srcTowers_ = consumes<CaloTowerCollection>(iConfig.getParameter<edm::InputTag>("srcTowers"));
136 
137  if(produceEcalhits_){
138  srcEBhits_ = consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("srcEBhits"));
139  srcEEhits_ = consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("srcEEhits"));
140  }
141  if(produceZDChits_){
142  srcZDChits_ = consumes<ZDCRecHitCollection>(iConfig.getParameter<edm::InputTag>("srcZDChits"));
143  lowGainZDC_ = iConfig.getParameter<bool>("lowGainZDC");
144  }
145  if(producePixelhits_){
146  srcPixelhits_ = consumes<SiPixelRecHitCollection>(iConfig.getParameter<edm::InputTag>("srcPixelhits"));
147  doPixelCut_ = iConfig.getParameter<bool>("doPixelCut");
148  srcVertex_ = consumes<VertexCollection>(iConfig.getParameter<edm::InputTag>("srcVertex"));
149  }
150  if(produceTracks_) {
151  srcTracks_ = consumes<TrackCollection>(iConfig.getParameter<edm::InputTag>("srcTracks"));
152  srcVertex_ = consumes<VertexCollection>(iConfig.getParameter<edm::InputTag>("srcVertex"));
153  }
154  if(producePixelTracks_) srcPixelTracks_ = consumes<TrackCollection>(iConfig.getParameter<edm::InputTag>("srcPixelTracks"));
155 
156  reuseAny_ = iConfig.getParameter<bool>("reUseCentrality");
157  if(reuseAny_) reuseTag_ = consumes<Centrality>(iConfig.getParameter<edm::InputTag>("srcReUse"));
158 
159  useQuality_ = iConfig.getParameter<bool>("UseQuality");
161 
162  produces<Centrality>();
163 
164 }
reco::TrackBase::TrackQuality trackQuality_
T getParameter(std::string const &) const
edm::EDGetTokenT< EcalRecHitCollection > srcEBhits_
edm::EDGetTokenT< Centrality > reuseTag_
edm::EDGetTokenT< VertexCollection > srcVertex_
edm::EDGetTokenT< CaloTowerCollection > srcTowers_
edm::EDGetTokenT< HFRecHitCollection > srcHFhits_
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:125
edm::EDGetTokenT< ZDCRecHitCollection > srcZDChits_
edm::EDGetTokenT< SiPixelRecHitCollection > srcPixelhits_
edm::EDGetTokenT< TrackCollection > srcPixelTracks_
edm::EDGetTokenT< TrackCollection > srcTracks_
edm::EDGetTokenT< EcalRecHitCollection > srcEEhits_
reco::CentralityProducer::~CentralityProducer ( )
override

Definition at line 167 of file CentralityProducer.cc.

168 {
169 
170  // do anything here that needs to be done at desctruction time
171  // (e.g. close files, deallocate resources etc.)
172 
173 }

Member Function Documentation

void reco::CentralityProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 466 of file CentralityProducer.cc.

467 {
468 }
void reco::CentralityProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 472 of file CentralityProducer.cc.

References DEFINE_FWK_MODULE.

473 {
474 }
void reco::CentralityProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 182 of file CentralityProducer.cc.

References funct::abs(), edmNew::DetSet< T >::begin(), edmNew::DetSetVector< T >::begin(), SiPixelRecHit::cluster(), edmNew::DetSet< T >::detId(), PVValHelper::dxy, reco::TrackBase::dxy(), reco::TrackBase::dxyError(), PVValHelper::dz, reco::TrackBase::dz(), reco::TrackBase::dzError(), edmNew::DetSet< T >::end(), edmNew::DetSetVector< T >::end(), CaloRecHit::energy(), EcalRecHit::energy(), stringResolutionProvider_cfi::et, PVValHelper::eta, reco::LeafCandidate::eta(), reco::TrackBase::eta(), edmNew::DetSetVector< T >::find(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), hfClusterShapes_cfi::hits, mps_fire::i, ZDCRecHit::id(), HFRecHit::id(), EcalRecHit::id(), HcalDetId::ieta(), CaloTower::ietaAbs(), HcalObjRepresent::isHF(), BaseTrackerRecHit::localPosition(), ZDCRecHit::lowGainEnergy(), eostools::move(), nTracks(), edm::Handle< T >::product(), reco::LeafCandidate::pt(), reco::TrackBase::pt(), reco::TrackBase::ptError(), edm::Event::put(), reco::TrackBase::quality(), rpcPointValidation_cfi::recHit, TrackInfoProducer_cfi::rechits, edm::SortedCollection< T, SORT >::size(), GeomDet::toGlobal(), HiIsolationCommonParameters_cff::track, l1t::tracks, and HcalZDCDetId::zside().

183 {
184 
186  if(produceEcalhits_) iSetup.get<CaloGeometryRecord>().get(cGeo);
187 
188  auto creco = std::make_unique<Centrality>();
189  Handle<Centrality> inputCentrality;
190 
191  if(reuseAny_) iEvent.getByToken(reuseTag_,inputCentrality);
192 
193  if(produceHFhits_){
194  creco->etHFhitSumPlus_ = 0;
195  creco->etHFhitSumMinus_ = 0;
196 
198  iEvent.getByToken(srcHFhits_,hits);
199  for( size_t ihit = 0; ihit<hits->size(); ++ ihit){
200  const HFRecHit & rechit = (*hits)[ ihit ];
201  if(rechit.id().ieta() > 0 )
202  creco->etHFhitSumPlus_ += rechit.energy();
203  if(rechit.id().ieta() < 0)
204  creco->etHFhitSumMinus_ += rechit.energy();
205  }
206  }else{
207  if(reuseAny_){
208  creco->etHFhitSumMinus_ = inputCentrality->EtHFhitSumMinus();
209  creco->etHFhitSumPlus_ = inputCentrality->EtHFhitSumPlus();
210  }
211  }
212 
214  creco->etHFtowerSumPlus_ = 0;
215  creco->etHFtowerSumMinus_ = 0;
216  creco->etMidRapiditySum_ = 0;
217 
219 
220  iEvent.getByToken(srcTowers_,towers);
221 
222  for( size_t i = 0; i<towers->size(); ++ i){
223  const CaloTower & tower = (*towers)[ i ];
224  double eta = tower.eta();
225  bool isHF = tower.ietaAbs() > 29;
226  if(produceHFtowers_){
227  if(isHF && eta > 0){
228  creco->etHFtowerSumPlus_ += tower.pt();
229  if(eta > hfEtaCut_) creco->etHFtruncatedPlus_ += tower.pt();
230  }
231  if(isHF && eta < 0){
232  creco->etHFtowerSumMinus_ += tower.pt();
233  if(eta < -hfEtaCut_) creco->etHFtruncatedMinus_ += tower.pt();
234  }
235  }else{
236  if(reuseAny_){
237  creco->etHFtowerSumMinus_ = inputCentrality->EtHFtowerSumMinus();
238  creco->etHFtowerSumPlus_ = inputCentrality->EtHFtowerSumPlus();
239  creco->etHFtruncatedMinus_ = inputCentrality->EtHFtruncatedMinus();
240  creco->etHFtruncatedPlus_ = inputCentrality->EtHFtruncatedPlus();
241  }
242  }
243  if(produceETmidRap_){
244  if(std::abs(eta) < midRapidityRange_) creco->etMidRapiditySum_ += tower.pt()/(midRapidityRange_*2.);
245  }else if(reuseAny_) creco->etMidRapiditySum_ = inputCentrality->EtMidRapiditySum();
246  }
247  }else{
248  if(reuseAny_){
249  creco->etHFtowerSumMinus_ = inputCentrality->EtHFtowerSumMinus();
250  creco->etHFtowerSumPlus_ = inputCentrality->EtHFtowerSumPlus();
251  creco->etMidRapiditySum_ = inputCentrality->EtMidRapiditySum();
252  }
253  }
254 
255  if(produceEcalhits_){
256  creco->etEESumPlus_ = 0;
257  creco->etEESumMinus_ = 0;
258  creco->etEBSum_ = 0;
259 
262 
263  iEvent.getByToken(srcEBhits_,ebHits);
264  iEvent.getByToken(srcEEhits_,eeHits);
265 
266  for(unsigned int i = 0; i < ebHits->size(); ++i){
267  const EcalRecHit & hit= (*ebHits)[i];
268  const GlobalPoint& pos=cGeo->getPosition(hit.id());
269  double et = hit.energy()*(pos.perp()/pos.mag());
270  creco->etEBSum_ += et;
271  }
272 
273  for(unsigned int i = 0; i < eeHits->size(); ++i){
274  const EcalRecHit & hit= (*eeHits)[i];
275  const GlobalPoint& pos=cGeo->getPosition(hit.id());
276  double et = hit.energy()*(pos.perp()/pos.mag());
277  if(pos.z() > 0){
278  creco->etEESumPlus_ += et;
279  }else{
280  creco->etEESumMinus_ += et;
281  }
282  }
283  }else{
284  if(reuseAny_){
285  creco->etEESumMinus_ = inputCentrality->EtEESumMinus();
286  creco->etEESumPlus_ = inputCentrality->EtEESumPlus();
287  creco->etEBSum_ = inputCentrality->EtEBSum();
288  }
289  }
290 
291  if(producePixelhits_){
292  creco->pixelMultiplicity_ = 0;
295  iEvent.getByToken(srcPixelhits_,rchts);
296  rechits = rchts.product();
297  int nPixel =0 ;
298  for (SiPixelRecHitCollection::const_iterator it = rechits->begin(); it!=rechits->end();it++)
299  {
301  DetId detId = DetId(hits.detId());
302  SiPixelRecHitCollection::const_iterator recHitMatch = rechits->find(detId);
303  const SiPixelRecHitCollection::DetSet recHitRange = *recHitMatch;
304  for ( SiPixelRecHitCollection::DetSet::const_iterator recHitIterator = recHitRange.begin();
305  recHitIterator != recHitRange.end(); ++recHitIterator) {
306  // add selection if needed, now all hits.
307  if(doPixelCut_){
308  const SiPixelRecHit * recHit = &(*recHitIterator);
309  const PixelGeomDetUnit* pixelLayer = dynamic_cast<const PixelGeomDetUnit*> (tGeo->idToDet(recHit->geographicalId()));
310  GlobalPoint gpos = pixelLayer->toGlobal(recHit->localPosition());
311  math::XYZVector rechitPos(gpos.x(),gpos.y(),gpos.z());
312  double abeta = std::abs(rechitPos.eta());
313  int clusterSize = recHit->cluster()->size();
314  if ( abeta < 0.5 && clusterSize < 1) continue;
315  if ( abeta > 0.5 && abeta < 1 && clusterSize < 2) continue;
316  if ( abeta > 1. && abeta < 1.5 && clusterSize < 3) continue;
317  if ( abeta > 1.5 && abeta < 2. && clusterSize < 4) continue;
318  if ( abeta > 2. && abeta < 2.5 && clusterSize < 6) continue;
319  if ( abeta > 2.5 && abeta < 5 && clusterSize < 9) continue;
320  }
321  nPixel++;
322  }
323  }
324  creco->pixelMultiplicity_ = nPixel;
325  }else{
326  if(reuseAny_){
327  creco->pixelMultiplicity_ = inputCentrality->multiplicityPixel();
328  }
329  }
330 
331  if(produceTracks_){
332 
333  double vx=-999.;
334  double vy=-999.;
335  double vz=-999.;
336  double vxError=-999.;
337  double vyError=-999.;
338  double vzError=-999.;
339  math::XYZVector vtxPos(0,0,0);
340 
341  Handle<VertexCollection> recoVertices;
342  iEvent.getByToken(srcVertex_,recoVertices);
343  unsigned int daughter = 0;
344  int greatestvtx = 0;
345 
346  for (unsigned int i = 0 ; i< recoVertices->size(); ++i){
347  daughter = (*recoVertices)[i].tracksSize();
348  if( daughter > (*recoVertices)[greatestvtx].tracksSize()) greatestvtx = i;
349  }
350 
351  if(!recoVertices->empty()){
352  vx = (*recoVertices)[greatestvtx].position().x();
353  vy = (*recoVertices)[greatestvtx].position().y();
354  vz = (*recoVertices)[greatestvtx].position().z();
355  vxError = (*recoVertices)[greatestvtx].xError();
356  vyError = (*recoVertices)[greatestvtx].yError();
357  vzError = (*recoVertices)[greatestvtx].zError();
358  }
359 
360  vtxPos = math::XYZVector(vx,vy,vz);
361 
363  iEvent.getByToken(srcTracks_,tracks);
364  int nTracks = 0;
365 
366  double trackCounter = 0;
367  double trackCounterEta = 0;
368  double trackCounterEtaPt = 0;
369 
370  for(unsigned int i = 0 ; i < tracks->size(); ++i){
371  const Track& track = (*tracks)[i];
372  if(useQuality_ && !track.quality(trackQuality_)) continue;
373 
374  if( track.pt() > trackPtCut_) trackCounter++;
375  if(std::abs(track.eta())<trackEtaCut_) {
376  trackCounterEta++;
377  if (track.pt() > trackPtCut_) trackCounterEtaPt++;
378  }
379 
380  math::XYZPoint v1(vx,vy, vz);
381  double dz= track.dz(v1);
382  double dzsigma2 = track.dzError()*track.dzError()+vzError*vzError;
383  double dxy= track.dxy(v1);
384  double dxysigma2 = track.dxyError()*track.dxyError()+vxError*vyError;
385 
386  const double pterrcut = 0.1;
387  const double dzrelcut = 3.0;
388  const double dxyrelcut = 3.0;
389 
390  if( track.quality(trackQuality_) &&
391  track.pt()>0.4 && std::abs(track.eta())<2.4 &&
392  track.ptError()/track.pt() < pterrcut &&
393  dz*dz < dzrelcut*dzrelcut * dzsigma2 &&
394  dxy*dxy < dxyrelcut*dxyrelcut * dxysigma2 ){
395  nTracks++;
396  }
397  }
398 
399  creco->trackMultiplicity_ = nTracks;
400  creco->ntracksPtCut_ = trackCounter;
401  creco->ntracksEtaCut_ = trackCounterEta;
402  creco->ntracksEtaPtCut_ = trackCounterEtaPt;
403 
404  }else{
405  if(reuseAny_){
406  creco->trackMultiplicity_ = inputCentrality->Ntracks();
407  creco->ntracksPtCut_= inputCentrality->NtracksPtCut();
408  creco->ntracksEtaCut_= inputCentrality->NtracksEtaCut();
409  creco->ntracksEtaPtCut_= inputCentrality->NtracksEtaPtCut();
410  }
411  }
412 
414  Handle<TrackCollection> pixeltracks;
415  iEvent.getByToken(srcPixelTracks_,pixeltracks);
416  int nPixelTracks = pixeltracks->size();
417  creco->nPixelTracks_ = nPixelTracks;
418  }
419  else{
420  if(reuseAny_){
421  creco->nPixelTracks_ = inputCentrality->NpixelTracks();
422  }
423  }
424 
425  if(produceZDChits_){
426  creco->zdcSumPlus_ = 0;
427  creco->zdcSumMinus_ = 0;
428 
430  bool zdcAvailable = iEvent.getByToken(srcZDChits_,hits);
431  if(zdcAvailable){
432  for( size_t ihit = 0; ihit<hits->size(); ++ ihit){
433  const ZDCRecHit & rechit = (*hits)[ ihit ];
434  if(rechit.id().zside() > 0 ) {
435  if(lowGainZDC_){
436  creco->zdcSumPlus_ += rechit.lowGainEnergy();
437  }else{
438  creco->zdcSumPlus_ += rechit.energy();
439  }
440  }
441  if(rechit.id().zside() < 0) {
442  if(lowGainZDC_){
443  creco->zdcSumMinus_ += rechit.lowGainEnergy();
444  }else{
445  creco->zdcSumMinus_ += rechit.energy();
446  }
447  }
448  }
449  }else{
450  creco->zdcSumPlus_ = -9;
451  creco->zdcSumMinus_ = -9;
452  }
453  }else{
454  if(reuseAny_){
455  creco->zdcSumMinus_ = inputCentrality->zdcSumMinus();
456  creco->zdcSumPlus_ = inputCentrality->zdcSumPlus();
457  }
458  }
459 
460  iEvent.put(std::move(creco));
461 
462 }
constexpr float energy() const
Definition: CaloRecHit.h:31
reco::TrackBase::TrackQuality trackQuality_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const unsigned int nTracks(const reco::Vertex &sv)
const_iterator end(bool update=false) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:137
double eta() const final
momentum pseudorapidity
edm::EDGetTokenT< EcalRecHitCollection > srcEBhits_
T perp() const
Definition: PV3DBase.h:72
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
edm::EDGetTokenT< Centrality > reuseTag_
double dxyError() const
error on dxy
Definition: TrackBase.h:796
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
int zside() const
get the z-side of the cell (1/-1)
Definition: HcalZDCDetId.h:39
T y() const
Definition: PV3DBase.h:63
double pt() const final
transverse momentum
edm::EDGetTokenT< VertexCollection > srcVertex_
edm::EDGetTokenT< CaloTowerCollection > srcTowers_
T mag() const
Definition: PV3DBase.h:67
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
double pt() const
track transverse momentum
Definition: TrackBase.h:621
T z() const
Definition: PV3DBase.h:64
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:763
int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
edm::EDGetTokenT< HFRecHitCollection > srcHFhits_
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:74
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float energy() const
Definition: EcalRecHit.h:68
float lowGainEnergy() const
Definition: ZDCRecHit.h:21
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:609
double dzError() const
error on dz
Definition: TrackBase.h:814
Definition: DetId.h:18
DetId id() const
get the id
Definition: EcalRecHit.h:77
T const * product() const
Definition: Handle.h:81
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
edm::EDGetTokenT< ZDCRecHitCollection > srcZDChits_
ClusterRef cluster() const
Definition: SiPixelRecHit.h:49
id_type detId() const
Definition: DetSetNew.h:84
bool isHF(int etabin, int depth)
edm::ESHandle< CaloGeometry > cGeo
et
define resolution functions of each parameter
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:510
const_iterator find(id_type i, bool update=false) const
edm::EDGetTokenT< SiPixelRecHitCollection > srcPixelhits_
int ietaAbs() const
Definition: CaloTower.h:186
iterator end()
Definition: DetSetNew.h:70
size_type size() const
edm::EDGetTokenT< TrackCollection > srcPixelTracks_
T get() const
Definition: EventSetup.h:63
edm::EDGetTokenT< TrackCollection > srcTracks_
const TrackerGeomDet * idToDet(DetId) const override
HcalZDCDetId id() const
get the id
Definition: ZDCRecHit.h:19
LocalPoint localPosition() const final
edm::ESHandle< TrackerGeometry > tGeo
HcalDetId id() const
Definition: HFRecHit.h:31
DetId geographicalId() const
edm::EDGetTokenT< EcalRecHitCollection > srcEEhits_
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:591
T x() const
Definition: PV3DBase.h:62
def move(src, dest)
Definition: eostools.py:510
const_iterator begin(bool update=false) const
Our base class.
Definition: SiPixelRecHit.h:23
iterator begin()
Definition: DetSetNew.h:67

Member Data Documentation

edm::ESHandle<CaloGeometry> reco::CentralityProducer::cGeo
private

Definition at line 101 of file CentralityProducer.cc.

bool reco::CentralityProducer::doPixelCut_
private

Definition at line 77 of file CentralityProducer.cc.

double reco::CentralityProducer::hfEtaCut_
private

Definition at line 82 of file CentralityProducer.cc.

bool reco::CentralityProducer::lowGainZDC_
private

Definition at line 84 of file CentralityProducer.cc.

double reco::CentralityProducer::midRapidityRange_
private

Definition at line 79 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceEcalhits_
private

Definition at line 69 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceETmidRap_
private

Definition at line 71 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceHFhits_
private

Definition at line 67 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceHFtowers_
private

Definition at line 68 of file CentralityProducer.cc.

bool reco::CentralityProducer::producePixelhits_
private

Definition at line 72 of file CentralityProducer.cc.

bool reco::CentralityProducer::producePixelTracks_
private

Definition at line 75 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceTracks_
private

Definition at line 73 of file CentralityProducer.cc.

bool reco::CentralityProducer::produceZDChits_
private

Definition at line 70 of file CentralityProducer.cc.

bool reco::CentralityProducer::recoLevel_
private

Definition at line 65 of file CentralityProducer.cc.

bool reco::CentralityProducer::reuseAny_
private

Definition at line 74 of file CentralityProducer.cc.

edm::EDGetTokenT<Centrality> reco::CentralityProducer::reuseTag_
private

Definition at line 95 of file CentralityProducer.cc.

edm::EDGetTokenT<EcalRecHitCollection> reco::CentralityProducer::srcEBhits_
private

Definition at line 89 of file CentralityProducer.cc.

edm::EDGetTokenT<EcalRecHitCollection> reco::CentralityProducer::srcEEhits_
private

Definition at line 88 of file CentralityProducer.cc.

edm::EDGetTokenT<HFRecHitCollection> reco::CentralityProducer::srcHFhits_
private

Definition at line 86 of file CentralityProducer.cc.

edm::EDGetTokenT<SiPixelRecHitCollection> reco::CentralityProducer::srcPixelhits_
private

Definition at line 91 of file CentralityProducer.cc.

edm::EDGetTokenT<TrackCollection> reco::CentralityProducer::srcPixelTracks_
private

Definition at line 93 of file CentralityProducer.cc.

edm::EDGetTokenT<CaloTowerCollection> reco::CentralityProducer::srcTowers_
private

Definition at line 87 of file CentralityProducer.cc.

edm::EDGetTokenT<TrackCollection> reco::CentralityProducer::srcTracks_
private

Definition at line 92 of file CentralityProducer.cc.

edm::EDGetTokenT<VertexCollection> reco::CentralityProducer::srcVertex_
private

Definition at line 94 of file CentralityProducer.cc.

edm::EDGetTokenT<ZDCRecHitCollection> reco::CentralityProducer::srcZDChits_
private

Definition at line 90 of file CentralityProducer.cc.

edm::ESHandle<TrackerGeometry> reco::CentralityProducer::tGeo
private

Definition at line 100 of file CentralityProducer.cc.

double reco::CentralityProducer::trackEtaCut_
private

Definition at line 81 of file CentralityProducer.cc.

double reco::CentralityProducer::trackPtCut_
private

Definition at line 80 of file CentralityProducer.cc.

reco::TrackBase::TrackQuality reco::CentralityProducer::trackQuality_
private

Definition at line 98 of file CentralityProducer.cc.

bool reco::CentralityProducer::useQuality_
private

Definition at line 97 of file CentralityProducer.cc.