CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
TICLLayerTileProducer Class Reference
Inheritance diagram for TICLLayerTileProducer:
edm::stream::EDProducer<>

Public Member Functions

void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 TICLLayerTileProducer (const edm::ParameterSet &ps)
 
 ~TICLLayerTileProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

edm::EDGetTokenT< std::vector< reco::CaloCluster > > clusters_HFNose_token_
 
edm::EDGetTokenT< std::vector< reco::CaloCluster > > clusters_token_
 
std::string detector_
 
bool doNose_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordgeometry_token_
 
hgcal::RecHitTools rhtools_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 17 of file TICLLayerTileProducer.cc.

Constructor & Destructor Documentation

◆ TICLLayerTileProducer()

TICLLayerTileProducer::TICLLayerTileProducer ( const edm::ParameterSet ps)
explicit

Definition at line 34 of file TICLLayerTileProducer.cc.

35  : detector_(ps.getParameter<std::string>("detector")) {
37  consumes<std::vector<reco::CaloCluster>>(ps.getParameter<edm::InputTag>("layer_HFNose_clusters"));
38  clusters_token_ = consumes<std::vector<reco::CaloCluster>>(ps.getParameter<edm::InputTag>("layer_clusters"));
39  geometry_token_ = esConsumes<CaloGeometry, CaloGeometryRecord, edm::Transition::BeginRun>();
40 
41  doNose_ = (detector_ == "HFNose");
42 
43  if (doNose_)
44  produces<TICLLayerTilesHFNose>();
45  else
46  produces<TICLLayerTiles>();
47 }

References clusters_HFNose_token_, clusters_token_, detector_, doNose_, geometry_token_, and edm::ParameterSet::getParameter().

◆ ~TICLLayerTileProducer()

TICLLayerTileProducer::~TICLLayerTileProducer ( )
inlineoverride

Definition at line 20 of file TICLLayerTileProducer.cc.

20 {};

Member Function Documentation

◆ beginRun()

void TICLLayerTileProducer::beginRun ( edm::Run const &  ,
edm::EventSetup const &  es 
)
override

◆ fillDescriptions()

void TICLLayerTileProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 88 of file TICLLayerTileProducer.cc.

88  {
90  desc.add<std::string>("detector", "HGCAL");
91  desc.add<edm::InputTag>("layer_clusters", edm::InputTag("hgcalLayerClusters"));
92  desc.add<edm::InputTag>("layer_HFNose_clusters", edm::InputTag("hgcalLayerClustersHFNose"));
93  descriptions.add("ticlLayerTileProducer", desc);
94 }

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

◆ produce()

void TICLLayerTileProducer::produce ( edm::Event evt,
const edm::EventSetup  
)
override

Definition at line 54 of file TICLLayerTileProducer.cc.

54  {
55  auto result = std::make_unique<TICLLayerTiles>();
56  auto resultHFNose = std::make_unique<TICLLayerTilesHFNose>();
57 
59  if (doNose_)
60  evt.getByToken(clusters_HFNose_token_, cluster_h);
61  else
62  evt.getByToken(clusters_token_, cluster_h);
63 
64  const auto &layerClusters = *cluster_h;
65  int lcId = 0;
66  for (auto const &lc : layerClusters) {
67  const auto firstHitDetId = lc.hitsAndFractions()[0].first;
68  int layer = rhtools_.getLayerWithOffset(firstHitDetId) +
69  rhtools_.lastLayer(doNose_) * ((rhtools_.zside(firstHitDetId) + 1) >> 1) - 1;
70 
71  assert(layer >= 0);
72 
73  if (doNose_)
74  resultHFNose->fill(layer, lc.eta(), lc.phi(), lcId);
75  else
76  result->fill(layer, lc.eta(), lc.phi(), lcId);
77  LogDebug("TICLLayerTileProducer") << "Adding layerClusterId: " << lcId << " into bin [eta,phi]: [ "
78  << (*result)[layer].etaBin(lc.eta()) << ", " << (*result)[layer].phiBin(lc.phi())
79  << "] for layer: " << layer << std::endl;
80  lcId++;
81  }
82  if (doNose_)
83  evt.put(std::move(resultHFNose));
84  else
85  evt.put(std::move(result));
86 }

References cms::cuda::assert(), clusters_HFNose_token_, clusters_token_, doNose_, edm::Event::getByToken(), hgcal::RecHitTools::getLayerWithOffset(), hgcal::RecHitTools::lastLayer(), HLTEgPhaseIITestSequence_cff::layerClusters, LogDebug, eostools::move(), edm::Event::put(), mps_fire::result, rhtools_, and hgcal::RecHitTools::zside().

Member Data Documentation

◆ clusters_HFNose_token_

edm::EDGetTokenT<std::vector<reco::CaloCluster> > TICLLayerTileProducer::clusters_HFNose_token_
private

Definition at line 27 of file TICLLayerTileProducer.cc.

Referenced by produce(), and TICLLayerTileProducer().

◆ clusters_token_

edm::EDGetTokenT<std::vector<reco::CaloCluster> > TICLLayerTileProducer::clusters_token_
private

Definition at line 26 of file TICLLayerTileProducer.cc.

Referenced by produce(), and TICLLayerTileProducer().

◆ detector_

std::string TICLLayerTileProducer::detector_
private

Definition at line 30 of file TICLLayerTileProducer.cc.

Referenced by TICLLayerTileProducer().

◆ doNose_

bool TICLLayerTileProducer::doNose_
private

Definition at line 31 of file TICLLayerTileProducer.cc.

Referenced by produce(), and TICLLayerTileProducer().

◆ geometry_token_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> TICLLayerTileProducer::geometry_token_
private

Definition at line 28 of file TICLLayerTileProducer.cc.

Referenced by beginRun(), and TICLLayerTileProducer().

◆ rhtools_

hgcal::RecHitTools TICLLayerTileProducer::rhtools_
private

Definition at line 29 of file TICLLayerTileProducer.cc.

Referenced by beginRun(), and produce().

edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
TICLLayerTileProducer::detector_
std::string detector_
Definition: TICLLayerTileProducer.cc:30
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
cms::cuda::assert
assert(be >=bs)
edm::Handle
Definition: AssociativeIterator.h:50
TICLLayerTileProducer::clusters_token_
edm::EDGetTokenT< std::vector< reco::CaloCluster > > clusters_token_
Definition: TICLLayerTileProducer.cc:26
TICLLayerTileProducer::clusters_HFNose_token_
edm::EDGetTokenT< std::vector< reco::CaloCluster > > clusters_HFNose_token_
Definition: TICLLayerTileProducer.cc:27
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::ESHandle< CaloGeometry >
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
HLTEgPhaseIITestSequence_cff.layerClusters
layerClusters
Definition: HLTEgPhaseIITestSequence_cff.py:2506
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
hgcal::RecHitTools::getLayerWithOffset
unsigned int getLayerWithOffset(const DetId &) const
Definition: RecHitTools.cc:352
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:132
hgcal::RecHitTools::zside
int zside(const DetId &id) const
Definition: RecHitTools.cc:160
TICLLayerTileProducer::doNose_
bool doNose_
Definition: TICLLayerTileProducer.cc:31
hgcal::RecHitTools::lastLayer
unsigned int lastLayer(bool nose=false) const
Definition: RecHitTools.h:68
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
hgcal::RecHitTools::setGeometry
void setGeometry(CaloGeometry const &)
Definition: RecHitTools.cc:68
TICLLayerTileProducer::rhtools_
hgcal::RecHitTools rhtools_
Definition: TICLLayerTileProducer.cc:29
mps_fire.result
result
Definition: mps_fire.py:303
TICLLayerTileProducer::geometry_token_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometry_token_
Definition: TICLLayerTileProducer.cc:28
edm::InputTag
Definition: InputTag.h:15