CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/IORawData/HcalTBInputService/src/HcalTBWriter.h

Go to the documentation of this file.
00001 #ifndef IORAWDATA_HCALTBINPUTSERVICE_HCALTBWRITER_H
00002 #define IORAWDATA_HCALTBINPUTSERVICE_HCALTBWRITER_H 1
00003 
00004 #include <map>
00005 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00006 #include "FWCore/Framework/interface/EDAnalyzer.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "DataFormats/Common/interface/Handle.h"
00009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 #include "IORawData/HcalTBInputService/src/CDFRunInfo.h"
00012 
00013 class TFile;
00014 class TTree;
00015 class CDFChunk;
00016 class CDFEventInfo;
00017 
00026 class HcalTBWriter : public edm::EDAnalyzer {
00027 public:
00028   HcalTBWriter(const edm::ParameterSet & pset);
00029   virtual void analyze(const edm::Event& e, const edm::EventSetup& es);
00030   virtual void endJob();
00031 private:
00032   std::string namePattern_;
00033   // chunk naming...
00034   std::map<int, std::string> blockToName_;
00035   void extractEventInfo(const FEDRawDataCollection& raw, const edm::EventID& id);
00036   void buildTree(const FEDRawDataCollection& raw);
00037   TFile* file_;
00038   TTree* tree_;
00039   CDFEventInfo* eventInfo_;
00040   CDFRunInfo ri_;
00041   std::map<int,int> chunkMap_;
00042   CDFChunk* chunkList_[1024];
00043   int trigChunk_;
00044 };
00045 #endif