Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:14

0001 #ifndef CaloCollections_h
0002 #define CaloCollections_h
0003 
0004 #include "DataFormats/L1TCalorimeter/interface/CaloTower.h"
0005 #include "DataFormats/L1Trigger/interface/EGamma.h"
0006 #include "DataFormats/L1Trigger/interface/EtSum.h"
0007 #include "DataFormats/L1Trigger/interface/Jet.h"
0008 #include "DataFormats/L1Trigger/interface/Tau.h"
0009 
0010 //#include "EventFilter/L1TRawToDigi/interface/UnpackerCollections.h"
0011 #include "L1TObjectCollections.h"
0012 
0013 namespace l1t {
0014   namespace stage2 {
0015     class CaloCollections : public L1TObjectCollections {
0016     public:
0017       CaloCollections(edm::Event& e)
0018           : L1TObjectCollections(e),
0019             towers_(new CaloTowerBxCollection()),
0020             egammas_(new EGammaBxCollection()),
0021             etsums_(new EtSumBxCollection()),
0022             jets_(new JetBxCollection()),
0023             taus_(new TauBxCollection()),
0024             mp_etsums_(new EtSumBxCollection()),
0025             mp_jets_(new JetBxCollection()),
0026             mp_egammas_(new EGammaBxCollection()),
0027             mp_taus_(new TauBxCollection()) {}
0028 
0029       ~CaloCollections() override;
0030 
0031       inline CaloTowerBxCollection* getTowers() { return towers_.get(); };
0032       inline EGammaBxCollection* getEGammas(const unsigned int copy) override { return egammas_.get(); };
0033       inline EtSumBxCollection* getEtSums(const unsigned int copy) override { return etsums_.get(); };
0034       inline JetBxCollection* getJets(const unsigned int copy) override { return jets_.get(); };
0035       inline TauBxCollection* getTaus(const unsigned int copy) override { return taus_.get(); };
0036 
0037       inline EtSumBxCollection* getMPEtSums() { return mp_etsums_.get(); };
0038       inline JetBxCollection* getMPJets() { return mp_jets_.get(); };
0039       inline EGammaBxCollection* getMPEGammas() { return mp_egammas_.get(); };
0040       inline TauBxCollection* getMPTaus() { return mp_taus_.get(); };
0041 
0042     private:
0043       std::unique_ptr<CaloTowerBxCollection> towers_;
0044       std::unique_ptr<EGammaBxCollection> egammas_;
0045       std::unique_ptr<EtSumBxCollection> etsums_;
0046       std::unique_ptr<JetBxCollection> jets_;
0047       std::unique_ptr<TauBxCollection> taus_;
0048 
0049       std::unique_ptr<EtSumBxCollection> mp_etsums_;
0050       std::unique_ptr<JetBxCollection> mp_jets_;
0051       std::unique_ptr<EGammaBxCollection> mp_egammas_;
0052       std::unique_ptr<TauBxCollection> mp_taus_;
0053     };
0054   }  // namespace stage2
0055 }  // namespace l1t
0056 
0057 #endif