Go to the documentation of this file.00001 #ifndef EcalTestBeamAlgos_EcalTBReadout_h
00002 #define EcalTestBeamAlgos_EcalTBReadout_h
00003
00004
00005
00006
00007
00008
00009
00010 #include <string>
00011 #include <vector>
00012
00013 #include "FWCore/Framework/interface/Event.h"
00014 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00015 #include "DataFormats/EcalDetId/interface/EcalTrigTowerDetId.h"
00016 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00017 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00018 #include "Geometry/CaloTopology/interface/EcalTrigTowerConstituentsMap.h"
00019
00020 class EcalTBReadout
00021 {
00022 public:
00023
00024 EcalTBReadout(const std::string theEcalTBInfoLabel);
00025 ~EcalTBReadout(){};
00026
00028 void setDetIds(const std::vector<DetId> & detIds) {theDetIds = &detIds;}
00029
00031 void findTTlist( const int& crysId ,
00032 const EcalTrigTowerConstituentsMap& etmap);
00033
00035 void readOut( const EBDigiCollection& input ,
00036 EBDigiCollection& output ,
00037 const EcalTrigTowerConstituentsMap& etmap ) ;
00038
00040 void readOut( const EEDigiCollection& input ,
00041 EEDigiCollection& output ,
00042 const EcalTrigTowerConstituentsMap& etmap ) ;
00043
00045 void performReadout( edm::Event& event ,
00046 const EcalTrigTowerConstituentsMap& theTTmap ,
00047 const EBDigiCollection& input ,
00048 EBDigiCollection& output ) ;
00049
00051 void performReadout( edm::Event& event ,
00052 const EcalTrigTowerConstituentsMap& theTTmap ,
00053 const EEDigiCollection& input ,
00054 EEDigiCollection& output ) ;
00055
00056 private:
00057
00058 int theTargetCrystal_;
00059
00060 std::vector<EcalTrigTowerDetId> theTTlist_;
00061
00062 static const int NCRYMATRIX = 7;
00063
00064 const std::vector<DetId>* theDetIds;
00065
00066 std::string ecalTBInfoLabel_;
00067 };
00068
00069 #endif