CMS 3D CMS Logo

GTCollections.h
Go to the documentation of this file.
1 #ifndef GTCollections_h
2 #define GTCollections_h
3 
9 
12 
13 //#include "EventFilter/L1TRawToDigi/interface/UnpackerCollections.h"
14 #include "L1TObjectCollections.h"
15 
16 namespace l1t {
17  namespace stage2 {
19  public:
22  std::generate(muons_.begin(), muons_.end(), [] { return std::make_unique<MuonBxCollection>(); });
24  muonShowers_.begin(), muonShowers_.end(), [] { return std::make_unique<MuonShowerBxCollection>(); });
25  std::generate(egammas_.begin(), egammas_.end(), [] { return std::make_unique<EGammaBxCollection>(); });
26  std::generate(etsums_.begin(), etsums_.end(), [] { return std::make_unique<EtSumBxCollection>(); });
27  std::generate(zdcsums_.begin(), zdcsums_.end(), [] { return std::make_unique<EtSumBxCollection>(); });
28  std::generate(jets_.begin(), jets_.end(), [] { return std::make_unique<JetBxCollection>(); });
29  std::generate(taus_.begin(), taus_.end(), [] { return std::make_unique<TauBxCollection>(); });
30  };
31 
32  ~GTCollections() override;
33 
34  inline MuonBxCollection* getMuons(const unsigned int copy) override { return muons_[copy].get(); };
35  inline MuonShowerBxCollection* getMuonShowers(const unsigned int copy) override {
36  return muonShowers_[copy].get();
37  };
38  inline EGammaBxCollection* getEGammas(const unsigned int copy) override { return egammas_[copy].get(); };
39  inline EtSumBxCollection* getEtSums(const unsigned int copy) override { return etsums_[copy].get(); };
40  inline EtSumBxCollection* getZDCSums(const unsigned int copy) override { return zdcsums_[copy].get(); };
41  inline JetBxCollection* getJets(const unsigned int copy) override { return jets_[copy].get(); };
42  inline TauBxCollection* getTaus(const unsigned int copy) override { return taus_[copy].get(); };
43 
44  inline GlobalAlgBlkBxCollection* getAlgs() { return algBlk_.get(); };
45  inline GlobalExtBlkBxCollection* getExts() { return extBlk_.get(); };
46 
47  private:
48  std::array<std::unique_ptr<MuonBxCollection>, 6> muons_;
49  std::array<std::unique_ptr<MuonShowerBxCollection>, 6> muonShowers_;
50  std::array<std::unique_ptr<EGammaBxCollection>, 6> egammas_;
51  std::array<std::unique_ptr<EtSumBxCollection>, 6> etsums_;
52  std::array<std::unique_ptr<EtSumBxCollection>, 6> zdcsums_;
53  std::array<std::unique_ptr<JetBxCollection>, 6> jets_;
54  std::array<std::unique_ptr<TauBxCollection>, 6> taus_;
55 
56  std::unique_ptr<GlobalAlgBlkBxCollection> algBlk_;
57  std::unique_ptr<GlobalExtBlkBxCollection> extBlk_;
58  };
59  } // namespace stage2
60 } // namespace l1t
61 
62 #endif
TauBxCollection * getTaus(const unsigned int copy) override
Definition: GTCollections.h:42
std::array< std::unique_ptr< EGammaBxCollection >, 6 > egammas_
Definition: GTCollections.h:50
std::array< std::unique_ptr< TauBxCollection >, 6 > taus_
Definition: GTCollections.h:54
std::array< std::unique_ptr< JetBxCollection >, 6 > jets_
Definition: GTCollections.h:53
std::unique_ptr< GlobalExtBlkBxCollection > extBlk_
Definition: GTCollections.h:57
delete x;
Definition: CaloConfig.h:22
JetBxCollection * getJets(const unsigned int copy) override
Definition: GTCollections.h:41
void generate(uint32_t const nbins, float const *initValues, std::vector< float > &values)
std::array< std::unique_ptr< MuonShowerBxCollection >, 6 > muonShowers_
Definition: GTCollections.h:49
GTCollections(edm::Event &e)
Definition: GTCollections.h:20
EGammaBxCollection * getEGammas(const unsigned int copy) override
Definition: GTCollections.h:38
std::array< std::unique_ptr< EtSumBxCollection >, 6 > etsums_
Definition: GTCollections.h:51
std::array< std::unique_ptr< EtSumBxCollection >, 6 > zdcsums_
Definition: GTCollections.h:52
GlobalAlgBlkBxCollection * getAlgs()
Definition: GTCollections.h:44
GlobalExtBlkBxCollection * getExts()
Definition: GTCollections.h:45
std::array< std::unique_ptr< MuonBxCollection >, 6 > muons_
Definition: GTCollections.h:45
MuonShowerBxCollection * getMuonShowers(const unsigned int copy) override
Definition: GTCollections.h:35
EtSumBxCollection * getEtSums(const unsigned int copy) override
Definition: GTCollections.h:39
std::unique_ptr< GlobalAlgBlkBxCollection > algBlk_
Definition: GTCollections.h:56
MuonBxCollection * getMuons(const unsigned int copy) override
Definition: GTCollections.h:34
EtSumBxCollection * getZDCSums(const unsigned int copy) override
Definition: GTCollections.h:40