Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:50

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;  // use alias 'L1TMuonEndCap' for the namespace 'emtf' used in L1Trigger/L1TMuonEndCap
0026 
0027     class EMTFCollections : public UnpackerCollections {
0028     public:
0029       EMTFCollections(edm::Event& e)
0030           : UnpackerCollections(e),  // What are these? - AWB 27.01.16
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   }  // namespace stage2
0074 }  // namespace l1t
0075 
0076 #endif