File indexing completed on 2024-04-06 12:10:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <FWCore/Framework/interface/one/EDAnalyzer.h>
0012 #include <FWCore/Framework/interface/Event.h>
0013 #include <FWCore/Framework/interface/MakerMacros.h>
0014 #include <DataFormats/EcalRawData/interface/EcalRawDataCollections.h>
0015 #include <iostream>
0016 #include <vector>
0017
0018 class EcalDCCHeaderDumperModule : public edm::one::EDAnalyzer<> {
0019 public:
0020 EcalDCCHeaderDumperModule(const edm::ParameterSet& ps) {}
0021
0022 protected:
0023 void analyze(const edm::Event& e, const edm::EventSetup& c) {
0024 edm::Handle<EcalRawDataCollection> DCCHeaders;
0025 e.getByLabel("ecalEBunpacker", DCCHeaders);
0026
0027 std::cout << "\n\n ^^^^^^^^^^^^^^^^^^ [EcalDCCHeaderDumperModule] DCCHeaders collection size "
0028 << DCCHeaders->size() << std::endl;
0029 std::cout << " [EcalDCCHeaderDumperModule] the Header(s)\n" << std::endl;
0030
0031
0032 for (EcalRawDataCollection::const_iterator headerItr = DCCHeaders->begin(); headerItr != DCCHeaders->end();
0033 ++headerItr) {
0034
0035 bool skip = false;
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 if (skip) {
0053 continue;
0054 }
0055
0056 std::cout << "###################################################################### \n";
0057 std::cout << "DCCid: " << headerItr->id() << "\n";
0058
0059 std::cout << "DCCErrors: " << headerItr->getDCCErrors() << "\n";
0060 std::cout << "Run Number: " << headerItr->getRunNumber() << "\n";
0061 std::cout << "Event number (LV1): " << headerItr->getLV1() << "\n";
0062
0063
0064 std::cout << "BX: " << headerItr->getBX() << "\n";
0065 std::cout << "TRIGGER TYPE: " << headerItr->getBasicTriggerType() << "\n";
0066
0067 std::cout << "RUNTYPE: " << headerItr->getRunType() << "\n";
0068 std::cout << "Half: " << headerItr->getRtHalf() << "\n";
0069 std::cout << "MGPA gain: " << headerItr->getMgpaGain() << "\n";
0070 std::cout << "MEM gain: " << headerItr->getMemGain() << "\n";
0071 EcalDCCHeaderBlock::EcalDCCEventSettings settings = headerItr->getEventSettings();
0072 std::cout << "LaserPower: " << settings.LaserPower << "\n";
0073 std::cout << "LAserFilter: " << settings.LaserFilter << "\n";
0074 std::cout << "Wavelenght: " << settings.wavelength << "\n";
0075 std::cout << "delay: " << settings.delay << "\n";
0076 std::cout << "MEM Vinj: " << settings.MEMVinj << "\n";
0077 std::cout << "MGPA content: " << settings.mgpa_content << "\n";
0078 std::cout << "Ped offset dac: " << settings.ped_offset << "\n";
0079
0080 std::cout << "Selective Readout: " << headerItr->getSelectiveReadout() << "\n";
0081 std::cout << "ZS: " << headerItr->getZeroSuppression() << "\n";
0082 std::cout << "TZS: " << headerItr->getTestZeroSuppression() << "\n";
0083 std::cout << "SRStatus: " << headerItr->getSrpStatus() << "\n";
0084
0085 std::vector<short> TCCStatus = headerItr->getTccStatus();
0086 std::cout << "TCC Status size: " << TCCStatus.size() << std::endl;
0087 std::cout << "TCC Status: ";
0088 for (unsigned u = 0; u < TCCStatus.size(); u++) {
0089 std::cout << TCCStatus[u] << " ";
0090 }
0091 std::cout << std::endl;
0092
0093
0094
0095 std::vector<short> TTStatus = headerItr->getFEStatus();
0096 std::cout << "TT Status size: " << TTStatus.size() << std::endl;
0097 std::cout << "TT Status: ";
0098 for (unsigned u = 0; u < TTStatus.size(); u++) {
0099 std::cout << TTStatus[u] << " ";
0100 }
0101 std::cout << std::endl;
0102 std::cout << "######################################################################" << std::endl;
0103 ;
0104
0105 }
0106
0107 }
0108
0109 };
0110
0111 DEFINE_FWK_MODULE(EcalDCCHeaderDumperModule);