CMS 3D CMS Logo

CaloLayer1Collections.h
Go to the documentation of this file.
1 #ifndef CaloLayer1Collections_h
2 #define CaloLayer1Collections_h
3 
8 #include "L1TObjectCollections.h"
9 
10 namespace l1t {
11  namespace stage2 {
13  public:
19  // Pre-allocate:
20  // 72 iPhi values
21  // 28 iEta values in Ecal, 28 + 12 iEta values in Hcal + HF
22  // 2 hemispheres
23  ecalDigis_->reserve(72 * 28 * 2);
24  hcalDigis_->reserve(72 * 40 * 2);
25  // 7 regions * 18 cards * 2 hemispheres
26  caloRegions_->reserve(7 * 18 * 2);
28  ecalDigisBx_.begin(), ecalDigisBx_.end(), [] { return std::make_unique<EcalTrigPrimDigiCollection>(); });
29  };
30 
31  ~CaloLayer1Collections() override;
32 
33  inline EcalTrigPrimDigiCollection* getEcalDigis() { return ecalDigis_.get(); };
34  inline HcalTrigPrimDigiCollection* getHcalDigis() { return hcalDigis_.get(); };
35  inline L1CaloRegionCollection* getRegions() { return caloRegions_.get(); };
36 
37  inline EcalTrigPrimDigiCollection* getEcalDigisBx(const unsigned int copy) override {
38  return ecalDigisBx_[copy].get();
39  };
40 
41  private:
42  std::unique_ptr<EcalTrigPrimDigiCollection> ecalDigis_;
43  std::unique_ptr<HcalTrigPrimDigiCollection> hcalDigis_;
44  std::unique_ptr<L1CaloRegionCollection> caloRegions_;
45 
46  std::array<std::unique_ptr<EcalTrigPrimDigiCollection>, 5> ecalDigisBx_;
47  };
48  } // namespace stage2
49 } // namespace l1t
50 
51 #endif
l1t::stage2::CaloLayer1Collections::CaloLayer1Collections
CaloLayer1Collections(edm::Event &e)
Definition: CaloLayer1Collections.h:14
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
l1t::stage2::CaloLayer1Collections::ecalDigisBx_
std::array< std::unique_ptr< EcalTrigPrimDigiCollection >, 5 > ecalDigisBx_
Definition: CaloLayer1Collections.h:46
edm::SortedCollection
Definition: SortedCollection.h:49
l1t::stage2::CaloLayer1Collections::getHcalDigis
HcalTrigPrimDigiCollection * getHcalDigis()
Definition: CaloLayer1Collections.h:34
generate
void generate(uint32_t const nbins, float const *initValues, std::vector< float > &values)
Definition: generateQIEShapes.cc:48
UnpackerCollections.h
HcalDigiCollections.h
EcalDigiCollections.h
l1t::stage2::CaloLayer1Collections::getEcalDigisBx
EcalTrigPrimDigiCollection * getEcalDigisBx(const unsigned int copy) override
Definition: CaloLayer1Collections.h:37
l1t::stage2::CaloLayer1Collections::getEcalDigis
EcalTrigPrimDigiCollection * getEcalDigis()
Definition: CaloLayer1Collections.h:33
l1t::stage2::L1TObjectCollections
Definition: L1TObjectCollections.h:16
l1t
delete x;
Definition: CaloConfig.h:22
l1t::stage2::CaloLayer1Collections::~CaloLayer1Collections
~CaloLayer1Collections() override
Definition: CaloLayer1Collections.cc:7
L1CaloCollections.h
l1t::stage2::CaloLayer1Collections::ecalDigis_
std::unique_ptr< EcalTrigPrimDigiCollection > ecalDigis_
Definition: CaloLayer1Collections.h:39
SiStripSourceConfigTier0_cff.stage2
stage2
Definition: SiStripSourceConfigTier0_cff.py:71
L1CaloRegionCollection
std::vector< L1CaloRegion > L1CaloRegionCollection
Definition: L1CaloCollections.h:11
L1TObjectCollections.h
l1t::stage2::CaloLayer1Collections::hcalDigis_
std::unique_ptr< HcalTrigPrimDigiCollection > hcalDigis_
Definition: CaloLayer1Collections.h:43
l1t::stage2::CaloLayer1Collections::caloRegions_
std::unique_ptr< L1CaloRegionCollection > caloRegions_
Definition: CaloLayer1Collections.h:44
l1t::stage2::CaloLayer1Collections
Definition: CaloLayer1Collections.h:12
edm::Event
Definition: Event.h:73
l1t::stage2::CaloLayer1Collections::getRegions
L1CaloRegionCollection * getRegions()
Definition: CaloLayer1Collections.h:35
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37