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:
24  {
25  std::generate(muons_.begin(), muons_.end(), []{ return std::make_unique<MuonBxCollection>(); });
26  std::generate(egammas_.begin(), egammas_.end(), []{ return std::make_unique<EGammaBxCollection>(); });
27  std::generate(etsums_.begin(), etsums_.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 EGammaBxCollection* getEGammas(const unsigned int copy) override { return egammas_[copy].get(); };
36  inline EtSumBxCollection* getEtSums( const unsigned int copy) override { return etsums_[copy].get(); };
37  inline JetBxCollection* getJets( const unsigned int copy) override { return jets_[copy].get(); };
38  inline TauBxCollection* getTaus( const unsigned int copy) override { return taus_[copy].get(); };
39 
40  inline GlobalAlgBlkBxCollection* getAlgs() { return algBlk_.get(); };
41  inline GlobalExtBlkBxCollection* getExts() { return extBlk_.get(); };
42 
43 
44  private:
45 
46  std::array<std::unique_ptr<MuonBxCollection>, 6 > muons_;
47  std::array<std::unique_ptr<EGammaBxCollection>, 6 > egammas_;
48  std::array<std::unique_ptr<EtSumBxCollection>, 6 > etsums_;
49  std::array<std::unique_ptr<JetBxCollection>, 6 > jets_;
50  std::array<std::unique_ptr<TauBxCollection>, 6 > taus_;
51 
52  std::unique_ptr<GlobalAlgBlkBxCollection> algBlk_;
53  std::unique_ptr<GlobalExtBlkBxCollection> extBlk_;
54 
55  };
56  }
57 }
58 
59 #endif
TauBxCollection * getTaus(const unsigned int copy) override
Definition: GTCollections.h:38
std::array< std::unique_ptr< MuonBxCollection >, 6 > muons_
Definition: GTCollections.h:41
def copy(args, dbName)
std::unique_ptr< GlobalExtBlkBxCollection > extBlk_
Definition: GTCollections.h:53
delete x;
Definition: CaloConfig.h:22
JetBxCollection * getJets(const unsigned int copy) override
Definition: GTCollections.h:37
def generate(map_blobs=False, class_name=None)
Definition: models.py:187
std::array< std::unique_ptr< JetBxCollection >, 6 > jets_
Definition: GTCollections.h:49
std::array< std::unique_ptr< EGammaBxCollection >, 6 > egammas_
Definition: GTCollections.h:47
GTCollections(edm::Event &e)
Definition: GTCollections.h:20
EGammaBxCollection * getEGammas(const unsigned int copy) override
Definition: GTCollections.h:35
GlobalAlgBlkBxCollection * getAlgs()
Definition: GTCollections.h:40
GlobalExtBlkBxCollection * getExts()
Definition: GTCollections.h:41
EtSumBxCollection * getEtSums(const unsigned int copy) override
Definition: GTCollections.h:36
std::unique_ptr< GlobalAlgBlkBxCollection > algBlk_
Definition: GTCollections.h:52
MuonBxCollection * getMuons(const unsigned int copy) override
Definition: GTCollections.h:34
std::array< std::unique_ptr< TauBxCollection >, 6 > taus_
Definition: GTCollections.h:50
std::array< std::unique_ptr< EtSumBxCollection >, 6 > etsums_
Definition: GTCollections.h:48