CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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>(); });
23  std::generate(egammas_.begin(), egammas_.end(), [] { return std::make_unique<EGammaBxCollection>(); });
24  std::generate(etsums_.begin(), etsums_.end(), [] { return std::make_unique<EtSumBxCollection>(); });
25  std::generate(jets_.begin(), jets_.end(), [] { return std::make_unique<JetBxCollection>(); });
26  std::generate(taus_.begin(), taus_.end(), [] { return std::make_unique<TauBxCollection>(); });
27  };
28 
29  ~GTCollections() override;
30 
31  inline MuonBxCollection* getMuons(const unsigned int copy) override { return muons_[copy].get(); };
32  inline EGammaBxCollection* getEGammas(const unsigned int copy) override { return egammas_[copy].get(); };
33  inline EtSumBxCollection* getEtSums(const unsigned int copy) override { return etsums_[copy].get(); };
34  inline JetBxCollection* getJets(const unsigned int copy) override { return jets_[copy].get(); };
35  inline TauBxCollection* getTaus(const unsigned int copy) override { return taus_[copy].get(); };
36 
37  inline GlobalAlgBlkBxCollection* getAlgs() { return algBlk_.get(); };
38  inline GlobalExtBlkBxCollection* getExts() { return extBlk_.get(); };
39 
40  private:
41  std::array<std::unique_ptr<MuonBxCollection>, 6> muons_;
42  std::array<std::unique_ptr<EGammaBxCollection>, 6> egammas_;
43  std::array<std::unique_ptr<EtSumBxCollection>, 6> etsums_;
44  std::array<std::unique_ptr<JetBxCollection>, 6> jets_;
45  std::array<std::unique_ptr<TauBxCollection>, 6> taus_;
46 
47  std::unique_ptr<GlobalAlgBlkBxCollection> algBlk_;
48  std::unique_ptr<GlobalExtBlkBxCollection> extBlk_;
49  };
50  } // namespace stage2
51 } // namespace l1t
52 
53 #endif
TauBxCollection * getTaus(const unsigned int copy) override
Definition: GTCollections.h:35
std::array< std::unique_ptr< EGammaBxCollection >, 6 > egammas_
Definition: GTCollections.h:42
std::array< std::unique_ptr< TauBxCollection >, 6 > taus_
Definition: GTCollections.h:45
std::array< std::unique_ptr< JetBxCollection >, 6 > jets_
Definition: GTCollections.h:44
std::unique_ptr< GlobalExtBlkBxCollection > extBlk_
Definition: GTCollections.h:48
JetBxCollection * getJets(const unsigned int copy) override
Definition: GTCollections.h:34
void generate(uint32_t const nbins, float const *initValues, std::vector< float > &values)
GTCollections(edm::Event &e)
Definition: GTCollections.h:20
EGammaBxCollection * getEGammas(const unsigned int copy) override
Definition: GTCollections.h:32
std::array< std::unique_ptr< EtSumBxCollection >, 6 > etsums_
Definition: GTCollections.h:43
GlobalAlgBlkBxCollection * getAlgs()
Definition: GTCollections.h:37
GlobalExtBlkBxCollection * getExts()
Definition: GTCollections.h:38
std::array< std::unique_ptr< MuonBxCollection >, 6 > muons_
Definition: GTCollections.h:38
EtSumBxCollection * getEtSums(const unsigned int copy) override
Definition: GTCollections.h:33
std::unique_ptr< GlobalAlgBlkBxCollection > algBlk_
Definition: GTCollections.h:47
MuonBxCollection * getMuons(const unsigned int copy) override
Definition: GTCollections.h:31