File indexing completed on 2024-09-07 04:36:15
0001
0002 #ifndef EventFilter_L1TRawToDigi_EMTFCollections_h
0003 #define EventFilter_L1TRawToDigi_EMTFCollections_h
0004
0005 #include <iostream> // For use in all EMTFBlock files
0006 #include <iomanip> // For things like std::setw
0007
0008 #include "DataFormats/L1TMuon/interface/RegionalMuonCand.h"
0009 #include "DataFormats/L1TMuon/interface/RegionalMuonShower.h"
0010 #include "DataFormats/L1TMuon/interface/EMTFDaqOut.h"
0011 #include "DataFormats/L1TMuon/interface/EMTFHit.h"
0012 #include "DataFormats/L1TMuon/interface/EMTFTrack.h"
0013 #include "DataFormats/L1TMuon/interface/CPPFDigi.h"
0014 #include "DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h"
0015 #include "DataFormats/CSCDigi/interface/CSCShowerDigiCollection.h"
0016 #include "DataFormats/GEMDigi/interface/GEMPadDigiClusterCollection.h"
0017
0018 #include "EventFilter/L1TRawToDigi/interface/UnpackerCollections.h"
0019
0020 #include "L1Trigger/L1TMuonEndCap/interface/MicroGMTConverter.h"
0021
0022 namespace l1t {
0023 namespace stage2 {
0024 namespace L1TMuonEndCap =
0025 ::emtf;
0026
0027 class EMTFCollections : public UnpackerCollections {
0028 public:
0029 EMTFCollections(edm::Event& e)
0030 : UnpackerCollections(e),
0031 regionalMuonCands_(new RegionalMuonCandBxCollection()),
0032 regionalMuonShowers_(new RegionalMuonShowerBxCollection()),
0033 EMTFDaqOuts_(new EMTFDaqOutCollection()),
0034 EMTFHits_(new EMTFHitCollection()),
0035 EMTFHits_ZS_(new EMTFHitCollection()),
0036 EMTFTracks_(new EMTFTrackCollection()),
0037 EMTFLCTs_(new CSCCorrelatedLCTDigiCollection()),
0038 EMTFCSCShowers_(new CSCShowerDigiCollection()),
0039 EMTFCPPFs_(new CPPFDigiCollection()),
0040 EMTFCPPFs_ZS_(new CPPFDigiCollection()),
0041 EMTFGEMPadClusters_(std::make_unique<GEMPadDigiClusterCollection>()),
0042 EMTFGEMPadClusters_ZS_(std::make_unique<GEMPadDigiClusterCollection>()) {}
0043
0044 ~EMTFCollections() override;
0045
0046 inline RegionalMuonCandBxCollection* getRegionalMuonCands() { return regionalMuonCands_.get(); }
0047 inline RegionalMuonShowerBxCollection* getRegionalMuonShowers() { return regionalMuonShowers_.get(); }
0048 inline EMTFDaqOutCollection* getEMTFDaqOuts() { return EMTFDaqOuts_.get(); }
0049 inline EMTFHitCollection* getEMTFHits() { return EMTFHits_.get(); }
0050 inline EMTFHitCollection* getEMTFHits_ZS() { return EMTFHits_ZS_.get(); }
0051 inline EMTFTrackCollection* getEMTFTracks() { return EMTFTracks_.get(); }
0052 inline CSCCorrelatedLCTDigiCollection* getEMTFLCTs() { return EMTFLCTs_.get(); }
0053 inline CSCShowerDigiCollection* getEMTFCSCShowers() { return EMTFCSCShowers_.get(); }
0054 inline CPPFDigiCollection* getEMTFCPPFs() { return EMTFCPPFs_.get(); }
0055 inline CPPFDigiCollection* getEMTFCPPFs_ZS() { return EMTFCPPFs_ZS_.get(); }
0056 inline GEMPadDigiClusterCollection* getEMTFGEMPadClusters() { return EMTFGEMPadClusters_.get(); }
0057 inline GEMPadDigiClusterCollection* getEMTFGEMPadClusters_ZS() { return EMTFGEMPadClusters_ZS_.get(); }
0058
0059 private:
0060 std::unique_ptr<RegionalMuonCandBxCollection> regionalMuonCands_;
0061 std::unique_ptr<RegionalMuonShowerBxCollection> regionalMuonShowers_;
0062 std::unique_ptr<EMTFDaqOutCollection> EMTFDaqOuts_;
0063 std::unique_ptr<EMTFHitCollection> EMTFHits_;
0064 std::unique_ptr<EMTFHitCollection> EMTFHits_ZS_;
0065 std::unique_ptr<EMTFTrackCollection> EMTFTracks_;
0066 std::unique_ptr<CSCCorrelatedLCTDigiCollection> EMTFLCTs_;
0067 std::unique_ptr<CSCShowerDigiCollection> EMTFCSCShowers_;
0068 std::unique_ptr<CPPFDigiCollection> EMTFCPPFs_;
0069 std::unique_ptr<CPPFDigiCollection> EMTFCPPFs_ZS_;
0070 std::unique_ptr<GEMPadDigiClusterCollection> EMTFGEMPadClusters_;
0071 std::unique_ptr<GEMPadDigiClusterCollection> EMTFGEMPadClusters_ZS_;
0072 };
0073 }
0074 }
0075
0076 #endif