CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/EventFilter/GctRawToDigi/src/GctUnpackCollections.h

Go to the documentation of this file.
00001 #ifndef GctUnpackCollections_h
00002 #define GctUnpackCollections_h
00003 
00015 // CMSSW headers
00016 #include "FWCore/Framework/interface/Event.h"
00017 
00018 // DataFormat headers
00019 #include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
00020 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
00021 #include "DataFormats/L1Trigger/interface/L1TriggerError.h"
00022 
00023 
00024 class GctUnpackCollections
00025 {
00026 public:
00028   GctUnpackCollections(edm::Event& event);
00029 
00031   ~GctUnpackCollections();
00032 
00033   // Collections for storing GCT input data.  
00034   L1GctFibreCollection * const gctFibres() const { return m_gctFibres.get(); }  
00035   L1CaloEmCollection * const rctEm() const { return m_rctEm.get(); } 
00036   L1CaloRegionCollection * const rctCalo() const { return m_rctCalo.get(); } 
00037 
00038   // GCT intermediate data
00039   L1GctInternEmCandCollection * const gctInternEm() const { return m_gctInternEm.get(); }  
00040   L1GctInternJetDataCollection * const gctInternJets() const { return m_gctInternJets.get(); } 
00041   L1GctInternEtSumCollection * const gctInternEtSums() const { return m_gctInternEtSums.get(); } 
00042   L1GctInternHFDataCollection * const gctInternHFData() const { return m_gctInternHFData.get(); } 
00043   L1GctInternHtMissCollection * const gctInternHtMiss() const { return m_gctInternHtMiss.get(); } 
00044 
00045   // GCT output data
00046   L1GctEmCandCollection * const gctIsoEm() const { return m_gctIsoEm.get(); }  
00047   L1GctEmCandCollection * const gctNonIsoEm() const { return m_gctNonIsoEm.get(); } 
00048   L1GctJetCandCollection * const gctCenJets() const { return m_gctCenJets.get(); } 
00049   L1GctJetCandCollection * const gctForJets() const { return m_gctForJets.get(); } 
00050   L1GctJetCandCollection * const gctTauJets() const { return m_gctTauJets.get(); } 
00051   L1GctHFBitCountsCollection * const gctHfBitCounts() const { return m_gctHfBitCounts.get(); } 
00052   L1GctHFRingEtSumsCollection * const gctHfRingEtSums() const { return m_gctHfRingEtSums.get(); }  
00053   L1GctEtTotalCollection * const gctEtTot() const { return m_gctEtTot.get(); }  
00054   L1GctEtHadCollection * const gctEtHad() const { return m_gctEtHad.get(); }  
00055   L1GctEtMissCollection * const gctEtMiss() const { return m_gctEtMiss.get(); }  
00056   L1GctHtMissCollection * const gctHtMiss() const { return m_gctHtMiss.get(); }  
00057   L1GctJetCountsCollection * const gctJetCounts() const { return m_gctJetCounts.get(); } 
00058 
00059   // Misc
00060   L1TriggerErrorCollection * const errors() const { return m_errors.get(); }  
00061 
00062 private:
00063 
00064   GctUnpackCollections(const GctUnpackCollections&); 
00065   GctUnpackCollections& operator=(const GctUnpackCollections&); 
00066 
00067   edm::Event& m_event;  
00068 
00069   // Collections for storing GCT input data.  
00070   std::auto_ptr<L1GctFibreCollection> m_gctFibres;  
00071   std::auto_ptr<L1CaloEmCollection> m_rctEm; 
00072   std::auto_ptr<L1CaloRegionCollection> m_rctCalo; 
00073 
00074   // GCT intermediate data
00075   std::auto_ptr<L1GctInternEmCandCollection> m_gctInternEm; 
00076   std::auto_ptr<L1GctInternJetDataCollection> m_gctInternJets; 
00077   std::auto_ptr<L1GctInternEtSumCollection> m_gctInternEtSums; 
00078   std::auto_ptr<L1GctInternHFDataCollection> m_gctInternHFData; 
00079   std::auto_ptr<L1GctInternHtMissCollection> m_gctInternHtMiss;
00080 
00081   // GCT output data
00082   std::auto_ptr<L1GctEmCandCollection> m_gctIsoEm;
00083   std::auto_ptr<L1GctEmCandCollection> m_gctNonIsoEm;
00084   std::auto_ptr<L1GctJetCandCollection> m_gctCenJets;
00085   std::auto_ptr<L1GctJetCandCollection> m_gctForJets;
00086   std::auto_ptr<L1GctJetCandCollection> m_gctTauJets;
00087   std::auto_ptr<L1GctHFBitCountsCollection> m_gctHfBitCounts;
00088   std::auto_ptr<L1GctHFRingEtSumsCollection> m_gctHfRingEtSums;
00089   std::auto_ptr<L1GctEtTotalCollection> m_gctEtTot;
00090   std::auto_ptr<L1GctEtHadCollection> m_gctEtHad;
00091   std::auto_ptr<L1GctEtMissCollection> m_gctEtMiss;
00092   std::auto_ptr<L1GctHtMissCollection> m_gctHtMiss;
00093   std::auto_ptr<L1GctJetCountsCollection> m_gctJetCounts;  // DEPRECATED. ONLY GT NEEDS THIS.
00094   
00095   // Misc
00096   std::auto_ptr<L1TriggerErrorCollection> m_errors;
00097 
00098 };
00099 
00100 // Pretty print for the GctUnpackCollections sub-class
00101 std::ostream& operator<<(std::ostream& os, const GctUnpackCollections& rhs);
00102 
00103 #endif /* GctUnpackCollections_h */