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(jets_.begin(), jets_.end(), [] { return std::make_unique<JetBxCollection>(); });
28  std::generate(taus_.begin(), taus_.end(), [] { return std::make_unique<TauBxCollection>(); });
29  };
30 
31  ~GTCollections() override;
32 
33  inline MuonBxCollection* getMuons(const unsigned int copy) override { return muons_[copy].get(); };
34  inline MuonShowerBxCollection* getMuonShowers(const unsigned int copy) override {
35  return muonShowers_[copy].get();
36  };
37  inline EGammaBxCollection* getEGammas(const unsigned int copy) override { return egammas_[copy].get(); };
38  inline EtSumBxCollection* getEtSums(const unsigned int copy) override { return etsums_[copy].get(); };
39  inline JetBxCollection* getJets(const unsigned int copy) override { return jets_[copy].get(); };
40  inline TauBxCollection* getTaus(const unsigned int copy) override { return taus_[copy].get(); };
41 
42  inline GlobalAlgBlkBxCollection* getAlgs() { return algBlk_.get(); };
43  inline GlobalExtBlkBxCollection* getExts() { return extBlk_.get(); };
44 
45  private:
46  std::array<std::unique_ptr<MuonBxCollection>, 6> muons_;
47  std::array<std::unique_ptr<MuonShowerBxCollection>, 6> muonShowers_;
48  std::array<std::unique_ptr<EGammaBxCollection>, 6> egammas_;
49  std::array<std::unique_ptr<EtSumBxCollection>, 6> etsums_;
50  std::array<std::unique_ptr<JetBxCollection>, 6> jets_;
51  std::array<std::unique_ptr<TauBxCollection>, 6> taus_;
52 
53  std::unique_ptr<GlobalAlgBlkBxCollection> algBlk_;
54  std::unique_ptr<GlobalExtBlkBxCollection> extBlk_;
55  };
56  } // namespace stage2
57 } // namespace l1t
58 
59 #endif
TauBxCollection * getTaus(const unsigned int copy) override
Definition: GTCollections.h:40
std::array< std::unique_ptr< EGammaBxCollection >, 6 > egammas_
Definition: GTCollections.h:48
std::array< std::unique_ptr< TauBxCollection >, 6 > taus_
Definition: GTCollections.h:51
std::array< std::unique_ptr< JetBxCollection >, 6 > jets_
Definition: GTCollections.h:50
std::unique_ptr< GlobalExtBlkBxCollection > extBlk_
Definition: GTCollections.h:54
delete x;
Definition: CaloConfig.h:22
JetBxCollection * getJets(const unsigned int copy) override
Definition: GTCollections.h:39
void generate(uint32_t const nbins, float const *initValues, std::vector< float > &values)
std::array< std::unique_ptr< MuonShowerBxCollection >, 6 > muonShowers_
Definition: GTCollections.h:47
GTCollections(edm::Event &e)
Definition: GTCollections.h:20
EGammaBxCollection * getEGammas(const unsigned int copy) override
Definition: GTCollections.h:37
std::array< std::unique_ptr< EtSumBxCollection >, 6 > etsums_
Definition: GTCollections.h:49
GlobalAlgBlkBxCollection * getAlgs()
Definition: GTCollections.h:42
GlobalExtBlkBxCollection * getExts()
Definition: GTCollections.h:43
std::array< std::unique_ptr< MuonBxCollection >, 6 > muons_
Definition: GTCollections.h:43
MuonShowerBxCollection * getMuonShowers(const unsigned int copy) override
Definition: GTCollections.h:34
EtSumBxCollection * getEtSums(const unsigned int copy) override
Definition: GTCollections.h:38
std::unique_ptr< GlobalAlgBlkBxCollection > algBlk_
Definition: GTCollections.h:53
MuonBxCollection * getMuons(const unsigned int copy) override
Definition: GTCollections.h:33