/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Alignment/LaserAlignment/plugins/RawDataConverter.cc
696 строк
30 KB
mmusich
migrate RawDataConverter away from deprecated EDAnalyzer API
23 фев 2022, 11:46
23 фев 2022, 11:46
caf5aaa
Код
Авторство
О чём код?
#include "Alignment/LaserAlignment/interface/LASGlobalLoop.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripCommon/interface/SiStripEventSummary.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripProcessedRawDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/EventSetupRecord.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "TFile.h" #include "TTree.h" #include "RawDataConverter.h" /// /// constructors and destructor /// RawDataConverter::RawDataConverter(const edm::ParameterSet& iConfig) : theOutputFile(nullptr), theOutputTree(nullptr), latency(-1), eventnumber(-1), runnumber(-1), lumiBlock(-1) { theOutputFile = new TFile(iConfig.getUntrackedParameter<std::string>("OutputFileName").c_str(), "RECREATE"); theOutputFile->cd(); theOutputTree = new TTree("lasRawDataTree", "lasRawDataTree"); theOutputTree->Branch("lasRawData", &theData); theOutputTree->Branch("latency", &latency, "latency/I"); theOutputTree->Branch("eventnumber", &eventnumber, "eventnumber/I"); theOutputTree->Branch("runnumber", &runnumber, "runnumber/I"); theOutputTree->Branch("lumiblock", &lumiBlock, "lumiblock/I"); theDigiModuleLabels = iConfig.getParameter<std::vector<std::string> >("DigiModuleLabels"); theProductInstanceLabels = iConfig.getParameter<std::vector<std::string> >("ProductInstanceLabels"); } /// /// /// void RawDataConverter::beginJob() { fillDetectorId(); } /// /// /// void RawDataConverter::beginRun(edm::Run const& theRun, edm::EventSetup const& theEventSetup) { std::vector<edm::eventsetup::EventSetupRecordKey> oToFill; theEventSetup.fillAvailableRecordKeys(oToFill); std::ostringstream o; for (std::vector<edm::eventsetup::EventSetupRecordKey>::size_type i = 0; i < oToFill.size(); i++) { o << oToFill[i].name() << "\n"; } LogDebug("RawDataConverter") << "The size of EventSetup is: " << oToFill.size() << "\n" << o.str(); } RawDataConverter::DigiType RawDataConverter::GetValidLabels( const edm::Event& iEvent) // Check what kind of file is being processed and get valid module and instance labels { // Clear the current labels CurrentModuleLabel = ""; CurrentInstanceLabel = ""; //Create handles for testing edm::Handle<edm::DetSetVector<SiStripDigi> > theStripDigis; edm::Handle<edm::DetSetVector<SiStripRawDigi> > theStripRawDigis; edm::Handle<edm::DetSetVector<SiStripProcessedRawDigi> > theStripProcessedRawDigis; // Create stream foer debug message std::ostringstream search_message; search_message << "Searching for SiStripDigis\n"; // Loop through Module and instance labels that were defined in the configuration for (std::vector<std::string>::iterator moduleLabel = theDigiModuleLabels.begin(); moduleLabel != theDigiModuleLabels.end(); ++moduleLabel) { for (std::vector<std::string>::iterator instanceLabel = theProductInstanceLabels.begin(); instanceLabel != theProductInstanceLabels.end(); ++instanceLabel) { search_message << "Checking for Module " << *moduleLabel << " Instance " << *instanceLabel << "\n"; //First try ZeroSuppressed Digis iEvent.getByLabel(*moduleLabel, *instanceLabel, theStripDigis); if (theStripDigis.isValid()) { search_message << "Found ZeroSuppressed\n"; edm::LogInfo("RawDataConverter") << search_message.str(); CurrentModuleLabel = *moduleLabel; CurrentInstanceLabel = *instanceLabel; return ZeroSuppressed; } // Next try VirginRaw Digis iEvent.getByLabel(*moduleLabel, *instanceLabel, theStripRawDigis); if (theStripRawDigis.isValid()) { search_message << "Found Raw\n"; edm::LogInfo("RawDataConverter") << search_message.str(); CurrentModuleLabel = *moduleLabel; CurrentInstanceLabel = *instanceLabel; return VirginRaw; } // Next try ProcessedRaw Digis iEvent.getByLabel(*moduleLabel, *instanceLabel, theStripProcessedRawDigis); if (theStripProcessedRawDigis.isValid()) { search_message << "Found ProcessedRaw\n"; edm::LogInfo("RawDataConverter") << search_message.str(); CurrentModuleLabel = *moduleLabel; CurrentInstanceLabel = *instanceLabel; return ProcessedRaw; } } } return Unknown; } /// /// /// void RawDataConverter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { // Determine the digi type to be used (only for the first time this methosd is called) static DigiType digitype = Unknown; // Type of digis in this run if (digitype == Unknown) digitype = GetValidLabels(iEvent); // Initialization of Digi Type ////////////////////////////////////////////////////////// // Retrieve SiStripEventSummary produced by the digitizer ////////////////////////////////////////////////////////// edm::Handle<SiStripEventSummary> summary; //iEvent.getByLabel( digiProducer, summary ); iEvent.getByLabel("siStripDigis", summary); latency = static_cast<int32_t>(summary->latency()); eventnumber = iEvent.id().event(); runnumber = iEvent.run(); lumiBlock = iEvent.luminosityBlock(); //edm::LogAbsolute("RawdataConverter") << " > run: " << runnumber << " event: " << eventnumber << " lumiBlock: " << lumiBlock << " latency: " << latency << std::endl; /////////////////////////////////////////////////////////// // Handles for holding possible Digis edm::Handle<edm::DetSetVector<SiStripRawDigi> > theStripRawDigis; edm::Handle<edm::DetSetVector<SiStripProcessedRawDigi> > theStripProcessedRawDigis; // Get the Digis as definef by digitype // Currently only ZeroSuppressed is implemented properly switch (digitype) { case ZeroSuppressed: GetDigis<SiStripDigi>(iEvent); break; case VirginRaw: throw std::runtime_error("RawDataConverter is not yet able to process VirginRaw Data"); break; case ProcessedRaw: throw std::runtime_error("RawDataConverter is not yet able to process ProcessedRaw Data"); break; default: throw std::runtime_error("Did not find valid Module or Instance label"); } // Push Container into the Tree theOutputTree->Fill(); return; } /// /// /// void RawDataConverter::endJob() { theOutputFile->Write(); theOutputFile->Close(); } /// /// set all strips to zero /// void RawDataConverter::ClearData(void) { // Assign a vector filled with zeros to all module entries // The vector is const static to increase performance // Even more performant would be to have a complete data object that is filled with zero // Empty object to be assigned to all modules static const std::vector<float> zero_buffer(512, 0); // loop helper and its variables LASGlobalLoop loop; int det, ring, beam, disk, pos; // loop TEC+- (internal) det = 0; ring = 0; beam = 0; disk = 0; do { theData.GetTECEntry(det, ring, beam, disk) = zero_buffer; } while (loop.TECLoop(det, ring, beam, disk)); // loop TIB/TOB det = 2; beam = 0; pos = 0; // <- set det = 2 (TIB) do { theData.GetTIBTOBEntry(det, beam, pos) = zero_buffer; } while (loop.TIBTOBLoop(det, beam, pos)); // loop TEC (AT) det = 0; beam = 0; disk = 0; do { theData.GetTEC2TECEntry(det, beam, disk) = zero_buffer; } while (loop.TEC2TECLoop(det, beam, disk)); } /// /// all the detector ids for the LAS modules hard-coded (this should be changed...) /// void RawDataConverter::fillDetectorId(void) { // TEC+ detectorId.SetTECEntry(0, 0, 0, 0, 470307208); detectorId.SetTECEntry(0, 0, 0, 1, 470323592); detectorId.SetTECEntry(0, 0, 0, 2, 470339976); detectorId.SetTECEntry(0, 0, 0, 3, 470356360); detectorId.SetTECEntry(0, 0, 0, 4, 470372744); detectorId.SetTECEntry(0, 0, 0, 5, 470389128); detectorId.SetTECEntry(0, 0, 0, 6, 470405512); detectorId.SetTECEntry(0, 0, 0, 7, 470421896); detectorId.SetTECEntry(0, 0, 0, 8, 470438280); detectorId.SetTECEntry(0, 0, 1, 0, 470307464); detectorId.SetTECEntry(0, 0, 1, 1, 470323848); detectorId.SetTECEntry(0, 0, 1, 2, 470340232); detectorId.SetTECEntry(0, 0, 1, 3, 470356616); detectorId.SetTECEntry(0, 0, 1, 4, 470373000); detectorId.SetTECEntry(0, 0, 1, 5, 470389384); detectorId.SetTECEntry(0, 0, 1, 6, 470405768); detectorId.SetTECEntry(0, 0, 1, 7, 470422152); detectorId.SetTECEntry(0, 0, 1, 8, 470438536); detectorId.SetTECEntry(0, 0, 2, 0, 470307720); detectorId.SetTECEntry(0, 0, 2, 1, 470324104); detectorId.SetTECEntry(0, 0, 2, 2, 470340488); detectorId.SetTECEntry(0, 0, 2, 3, 470356872); detectorId.SetTECEntry(0, 0, 2, 4, 470373256); detectorId.SetTECEntry(0, 0, 2, 5, 470389640); detectorId.SetTECEntry(0, 0, 2, 6, 470406024); detectorId.SetTECEntry(0, 0, 2, 7, 470422408); detectorId.SetTECEntry(0, 0, 2, 8, 470438792); detectorId.SetTECEntry(0, 0, 3, 0, 470307976); detectorId.SetTECEntry(0, 0, 3, 1, 470324360); detectorId.SetTECEntry(0, 0, 3, 2, 470340744); detectorId.SetTECEntry(0, 0, 3, 3, 470357128); detectorId.SetTECEntry(0, 0, 3, 4, 470373512); detectorId.SetTECEntry(0, 0, 3, 5, 470389896); detectorId.SetTECEntry(0, 0, 3, 6, 470406280); detectorId.SetTECEntry(0, 0, 3, 7, 470422664); detectorId.SetTECEntry(0, 0, 3, 8, 470439048); detectorId.SetTECEntry(0, 0, 4, 0, 470308232); detectorId.SetTECEntry(0, 0, 4, 1, 470324616); detectorId.SetTECEntry(0, 0, 4, 2, 470341000); detectorId.SetTECEntry(0, 0, 4, 3, 470357384); detectorId.SetTECEntry(0, 0, 4, 4, 470373768); detectorId.SetTECEntry(0, 0, 4, 5, 470390152); detectorId.SetTECEntry(0, 0, 4, 6, 470406536); detectorId.SetTECEntry(0, 0, 4, 7, 470422920); detectorId.SetTECEntry(0, 0, 4, 8, 470439304); detectorId.SetTECEntry(0, 0, 5, 0, 470308488); detectorId.SetTECEntry(0, 0, 5, 1, 470324872); detectorId.SetTECEntry(0, 0, 5, 2, 470341256); detectorId.SetTECEntry(0, 0, 5, 3, 470357640); detectorId.SetTECEntry(0, 0, 5, 4, 470374024); detectorId.SetTECEntry(0, 0, 5, 5, 470390408); detectorId.SetTECEntry(0, 0, 5, 6, 470406792); detectorId.SetTECEntry(0, 0, 5, 7, 470423176); detectorId.SetTECEntry(0, 0, 5, 8, 470439560); detectorId.SetTECEntry(0, 0, 6, 0, 470308744); detectorId.SetTECEntry(0, 0, 6, 1, 470325128); detectorId.SetTECEntry(0, 0, 6, 2, 470341512); detectorId.SetTECEntry(0, 0, 6, 3, 470357896); detectorId.SetTECEntry(0, 0, 6, 4, 470374280); detectorId.SetTECEntry(0, 0, 6, 5, 470390664); detectorId.SetTECEntry(0, 0, 6, 6, 470407048); detectorId.SetTECEntry(0, 0, 6, 7, 470423432); detectorId.SetTECEntry(0, 0, 6, 8, 470439816); detectorId.SetTECEntry(0, 0, 7, 0, 470309000); detectorId.SetTECEntry(0, 0, 7, 1, 470325384); detectorId.SetTECEntry(0, 0, 7, 2, 470341768); detectorId.SetTECEntry(0, 0, 7, 3, 470358152); detectorId.SetTECEntry(0, 0, 7, 4, 470374536); detectorId.SetTECEntry(0, 0, 7, 5, 470390920); detectorId.SetTECEntry(0, 0, 7, 6, 470407304); detectorId.SetTECEntry(0, 0, 7, 7, 470423688); detectorId.SetTECEntry(0, 0, 7, 8, 470440072); detectorId.SetTECEntry(0, 1, 0, 0, 470307272); detectorId.SetTECEntry(0, 1, 0, 1, 470323656); detectorId.SetTECEntry(0, 1, 0, 2, 470340040); detectorId.SetTECEntry(0, 1, 0, 3, 470356424); detectorId.SetTECEntry(0, 1, 0, 4, 470372808); detectorId.SetTECEntry(0, 1, 0, 5, 470389192); detectorId.SetTECEntry(0, 1, 0, 6, 470405576); detectorId.SetTECEntry(0, 1, 0, 7, 470421960); detectorId.SetTECEntry(0, 1, 0, 8, 470438344); detectorId.SetTECEntry(0, 1, 1, 0, 470307528); detectorId.SetTECEntry(0, 1, 1, 1, 470323912); detectorId.SetTECEntry(0, 1, 1, 2, 470340296); detectorId.SetTECEntry(0, 1, 1, 3, 470356680); detectorId.SetTECEntry(0, 1, 1, 4, 470373064); detectorId.SetTECEntry(0, 1, 1, 5, 470389448); detectorId.SetTECEntry(0, 1, 1, 6, 470405832); detectorId.SetTECEntry(0, 1, 1, 7, 470422216); detectorId.SetTECEntry(0, 1, 1, 8, 470438600); detectorId.SetTECEntry(0, 1, 2, 0, 470307784); detectorId.SetTECEntry(0, 1, 2, 1, 470324168); detectorId.SetTECEntry(0, 1, 2, 2, 470340552); detectorId.SetTECEntry(0, 1, 2, 3, 470356936); detectorId.SetTECEntry(0, 1, 2, 4, 470373320); detectorId.SetTECEntry(0, 1, 2, 5, 470389704); detectorId.SetTECEntry(0, 1, 2, 6, 470406088); detectorId.SetTECEntry(0, 1, 2, 7, 470422472); detectorId.SetTECEntry(0, 1, 2, 8, 470438856); detectorId.SetTECEntry(0, 1, 3, 0, 470308040); detectorId.SetTECEntry(0, 1, 3, 1, 470324424); detectorId.SetTECEntry(0, 1, 3, 2, 470340808); detectorId.SetTECEntry(0, 1, 3, 3, 470357192); detectorId.SetTECEntry(0, 1, 3, 4, 470373576); detectorId.SetTECEntry(0, 1, 3, 5, 470389960); detectorId.SetTECEntry(0, 1, 3, 6, 470406344); detectorId.SetTECEntry(0, 1, 3, 7, 470422728); detectorId.SetTECEntry(0, 1, 3, 8, 470439112); detectorId.SetTECEntry(0, 1, 4, 0, 470308296); detectorId.SetTECEntry(0, 1, 4, 1, 470324680); detectorId.SetTECEntry(0, 1, 4, 2, 470341064); detectorId.SetTECEntry(0, 1, 4, 3, 470357448); detectorId.SetTECEntry(0, 1, 4, 4, 470373832); detectorId.SetTECEntry(0, 1, 4, 5, 470390216); detectorId.SetTECEntry(0, 1, 4, 6, 470406600); detectorId.SetTECEntry(0, 1, 4, 7, 470422984); detectorId.SetTECEntry(0, 1, 4, 8, 470439368); detectorId.SetTECEntry(0, 1, 5, 0, 470308552); detectorId.SetTECEntry(0, 1, 5, 1, 470324936); detectorId.SetTECEntry(0, 1, 5, 2, 470341320); detectorId.SetTECEntry(0, 1, 5, 3, 470357704); detectorId.SetTECEntry(0, 1, 5, 4, 470374088); detectorId.SetTECEntry(0, 1, 5, 5, 470390472); detectorId.SetTECEntry(0, 1, 5, 6, 470406856); detectorId.SetTECEntry(0, 1, 5, 7, 470423240); detectorId.SetTECEntry(0, 1, 5, 8, 470439624); detectorId.SetTECEntry(0, 1, 6, 0, 470308808); detectorId.SetTECEntry(0, 1, 6, 1, 470325192); detectorId.SetTECEntry(0, 1, 6, 2, 470341576); detectorId.SetTECEntry(0, 1, 6, 3, 470357960); detectorId.SetTECEntry(0, 1, 6, 4, 470374344); detectorId.SetTECEntry(0, 1, 6, 5, 470390728); detectorId.SetTECEntry(0, 1, 6, 6, 470407112); detectorId.SetTECEntry(0, 1, 6, 7, 470423496); detectorId.SetTECEntry(0, 1, 6, 8, 470439880); detectorId.SetTECEntry(0, 1, 7, 0, 470309064); detectorId.SetTECEntry(0, 1, 7, 1, 470325448); detectorId.SetTECEntry(0, 1, 7, 2, 470341832); detectorId.SetTECEntry(0, 1, 7, 3, 470358216); detectorId.SetTECEntry(0, 1, 7, 4, 470374600); detectorId.SetTECEntry(0, 1, 7, 5, 470390984); detectorId.SetTECEntry(0, 1, 7, 6, 470407368); detectorId.SetTECEntry(0, 1, 7, 7, 470423752); detectorId.SetTECEntry(0, 1, 7, 8, 470440136); // TEC- detectorId.SetTECEntry(1, 0, 0, 0, 470045064); detectorId.SetTECEntry(1, 0, 0, 1, 470061448); detectorId.SetTECEntry(1, 0, 0, 2, 470077832); detectorId.SetTECEntry(1, 0, 0, 3, 470094216); detectorId.SetTECEntry(1, 0, 0, 4, 470110600); detectorId.SetTECEntry(1, 0, 0, 5, 470126984); detectorId.SetTECEntry(1, 0, 0, 6, 470143368); detectorId.SetTECEntry(1, 0, 0, 7, 470159752); detectorId.SetTECEntry(1, 0, 0, 8, 470176136); detectorId.SetTECEntry(1, 0, 1, 0, 470045320); detectorId.SetTECEntry(1, 0, 1, 1, 470061704); detectorId.SetTECEntry(1, 0, 1, 2, 470078088); detectorId.SetTECEntry(1, 0, 1, 3, 470094472); detectorId.SetTECEntry(1, 0, 1, 4, 470110856); detectorId.SetTECEntry(1, 0, 1, 5, 470127240); detectorId.SetTECEntry(1, 0, 1, 6, 470143624); detectorId.SetTECEntry(1, 0, 1, 7, 470160008); detectorId.SetTECEntry(1, 0, 1, 8, 470176392); detectorId.SetTECEntry(1, 0, 2, 0, 470045576); detectorId.SetTECEntry(1, 0, 2, 1, 470061960); detectorId.SetTECEntry(1, 0, 2, 2, 470078344); detectorId.SetTECEntry(1, 0, 2, 3, 470094728); detectorId.SetTECEntry(1, 0, 2, 4, 470111112); detectorId.SetTECEntry(1, 0, 2, 5, 470127496); detectorId.SetTECEntry(1, 0, 2, 6, 470143880); detectorId.SetTECEntry(1, 0, 2, 7, 470160264); detectorId.SetTECEntry(1, 0, 2, 8, 470176648); detectorId.SetTECEntry(1, 0, 3, 0, 470045832); detectorId.SetTECEntry(1, 0, 3, 1, 470062216); detectorId.SetTECEntry(1, 0, 3, 2, 470078600); detectorId.SetTECEntry(1, 0, 3, 3, 470094984); detectorId.SetTECEntry(1, 0, 3, 4, 470111368); detectorId.SetTECEntry(1, 0, 3, 5, 470127752); detectorId.SetTECEntry(1, 0, 3, 6, 470144136); detectorId.SetTECEntry(1, 0, 3, 7, 470160520); detectorId.SetTECEntry(1, 0, 3, 8, 470176904); detectorId.SetTECEntry(1, 0, 4, 0, 470046088); detectorId.SetTECEntry(1, 0, 4, 1, 470062472); detectorId.SetTECEntry(1, 0, 4, 2, 470078856); detectorId.SetTECEntry(1, 0, 4, 3, 470095240); detectorId.SetTECEntry(1, 0, 4, 4, 470111624); detectorId.SetTECEntry(1, 0, 4, 5, 470128008); detectorId.SetTECEntry(1, 0, 4, 6, 470144392); detectorId.SetTECEntry(1, 0, 4, 7, 470160776); detectorId.SetTECEntry(1, 0, 4, 8, 470177160); detectorId.SetTECEntry(1, 0, 5, 0, 470046344); detectorId.SetTECEntry(1, 0, 5, 1, 470062728); detectorId.SetTECEntry(1, 0, 5, 2, 470079112); detectorId.SetTECEntry(1, 0, 5, 3, 470095496); detectorId.SetTECEntry(1, 0, 5, 4, 470111880); detectorId.SetTECEntry(1, 0, 5, 5, 470128264); detectorId.SetTECEntry(1, 0, 5, 6, 470144648); detectorId.SetTECEntry(1, 0, 5, 7, 470161032); detectorId.SetTECEntry(1, 0, 5, 8, 470177416); detectorId.SetTECEntry(1, 0, 6, 0, 470046600); detectorId.SetTECEntry(1, 0, 6, 1, 470062984); detectorId.SetTECEntry(1, 0, 6, 2, 470079368); detectorId.SetTECEntry(1, 0, 6, 3, 470095752); detectorId.SetTECEntry(1, 0, 6, 4, 470112136); detectorId.SetTECEntry(1, 0, 6, 5, 470128520); detectorId.SetTECEntry(1, 0, 6, 6, 470144904); detectorId.SetTECEntry(1, 0, 6, 7, 470161288); detectorId.SetTECEntry(1, 0, 6, 8, 470177672); detectorId.SetTECEntry(1, 0, 7, 0, 470046856); detectorId.SetTECEntry(1, 0, 7, 1, 470063240); detectorId.SetTECEntry(1, 0, 7, 2, 470079624); detectorId.SetTECEntry(1, 0, 7, 3, 470096008); detectorId.SetTECEntry(1, 0, 7, 4, 470112392); detectorId.SetTECEntry(1, 0, 7, 5, 470128776); detectorId.SetTECEntry(1, 0, 7, 6, 470145160); detectorId.SetTECEntry(1, 0, 7, 7, 470161544); detectorId.SetTECEntry(1, 0, 7, 8, 470177928); detectorId.SetTECEntry(1, 1, 0, 0, 470045128); detectorId.SetTECEntry(1, 1, 0, 1, 470061512); detectorId.SetTECEntry(1, 1, 0, 2, 470077896); detectorId.SetTECEntry(1, 1, 0, 3, 470094280); detectorId.SetTECEntry(1, 1, 0, 4, 470110664); detectorId.SetTECEntry(1, 1, 0, 5, 470127048); detectorId.SetTECEntry(1, 1, 0, 6, 470143432); detectorId.SetTECEntry(1, 1, 0, 7, 470159816); detectorId.SetTECEntry(1, 1, 0, 8, 470176200); detectorId.SetTECEntry(1, 1, 1, 0, 470045384); detectorId.SetTECEntry(1, 1, 1, 1, 470061768); detectorId.SetTECEntry(1, 1, 1, 2, 470078152); detectorId.SetTECEntry(1, 1, 1, 3, 470094536); detectorId.SetTECEntry(1, 1, 1, 4, 470110920); detectorId.SetTECEntry(1, 1, 1, 5, 470127304); detectorId.SetTECEntry(1, 1, 1, 6, 470143688); detectorId.SetTECEntry(1, 1, 1, 7, 470160072); detectorId.SetTECEntry(1, 1, 1, 8, 470176456); detectorId.SetTECEntry(1, 1, 2, 0, 470045640); detectorId.SetTECEntry(1, 1, 2, 1, 470062024); detectorId.SetTECEntry(1, 1, 2, 2, 470078408); detectorId.SetTECEntry(1, 1, 2, 3, 470094792); detectorId.SetTECEntry(1, 1, 2, 4, 470111176); detectorId.SetTECEntry(1, 1, 2, 5, 470127560); detectorId.SetTECEntry(1, 1, 2, 6, 470143944); detectorId.SetTECEntry(1, 1, 2, 7, 470160328); detectorId.SetTECEntry(1, 1, 2, 8, 470176712); detectorId.SetTECEntry(1, 1, 3, 0, 470045896); detectorId.SetTECEntry(1, 1, 3, 1, 470062280); detectorId.SetTECEntry(1, 1, 3, 2, 470078664); detectorId.SetTECEntry(1, 1, 3, 3, 470095048); detectorId.SetTECEntry(1, 1, 3, 4, 470111432); detectorId.SetTECEntry(1, 1, 3, 5, 470127816); detectorId.SetTECEntry(1, 1, 3, 6, 470144200); detectorId.SetTECEntry(1, 1, 3, 7, 470160584); detectorId.SetTECEntry(1, 1, 3, 8, 470176968); detectorId.SetTECEntry(1, 1, 4, 0, 470046152); detectorId.SetTECEntry(1, 1, 4, 1, 470062536); detectorId.SetTECEntry(1, 1, 4, 2, 470078920); detectorId.SetTECEntry(1, 1, 4, 3, 470095304); detectorId.SetTECEntry(1, 1, 4, 4, 470111688); detectorId.SetTECEntry(1, 1, 4, 5, 470128072); detectorId.SetTECEntry(1, 1, 4, 6, 470144456); detectorId.SetTECEntry(1, 1, 4, 7, 470160840); detectorId.SetTECEntry(1, 1, 4, 8, 470177224); detectorId.SetTECEntry(1, 1, 5, 0, 470046408); detectorId.SetTECEntry(1, 1, 5, 1, 470062792); detectorId.SetTECEntry(1, 1, 5, 2, 470079176); detectorId.SetTECEntry(1, 1, 5, 3, 470095560); detectorId.SetTECEntry(1, 1, 5, 4, 470111944); detectorId.SetTECEntry(1, 1, 5, 5, 470128328); detectorId.SetTECEntry(1, 1, 5, 6, 470144712); detectorId.SetTECEntry(1, 1, 5, 7, 470161096); detectorId.SetTECEntry(1, 1, 5, 8, 470177480); detectorId.SetTECEntry(1, 1, 6, 0, 470046664); detectorId.SetTECEntry(1, 1, 6, 1, 470063048); detectorId.SetTECEntry(1, 1, 6, 2, 470079432); detectorId.SetTECEntry(1, 1, 6, 3, 470095816); detectorId.SetTECEntry(1, 1, 6, 4, 470112200); detectorId.SetTECEntry(1, 1, 6, 5, 470128584); detectorId.SetTECEntry(1, 1, 6, 6, 470144968); detectorId.SetTECEntry(1, 1, 6, 7, 470161352); detectorId.SetTECEntry(1, 1, 6, 8, 470177736); detectorId.SetTECEntry(1, 1, 7, 0, 470046920); detectorId.SetTECEntry(1, 1, 7, 1, 470063304); detectorId.SetTECEntry(1, 1, 7, 2, 470079688); detectorId.SetTECEntry(1, 1, 7, 3, 470096072); detectorId.SetTECEntry(1, 1, 7, 4, 470112456); detectorId.SetTECEntry(1, 1, 7, 5, 470128840); detectorId.SetTECEntry(1, 1, 7, 6, 470145224); detectorId.SetTECEntry(1, 1, 7, 7, 470161608); detectorId.SetTECEntry(1, 1, 7, 8, 470177992); // TIB detectorId.SetTIBTOBEntry(2, 0, 0, 369174604); detectorId.SetTIBTOBEntry(2, 0, 1, 369174600); detectorId.SetTIBTOBEntry(2, 0, 2, 369174596); detectorId.SetTIBTOBEntry(2, 0, 3, 369170500); detectorId.SetTIBTOBEntry(2, 0, 4, 369170504); detectorId.SetTIBTOBEntry(2, 0, 5, 369170508); detectorId.SetTIBTOBEntry(2, 1, 0, 369174732); detectorId.SetTIBTOBEntry(2, 1, 1, 369174728); detectorId.SetTIBTOBEntry(2, 1, 2, 369174724); detectorId.SetTIBTOBEntry(2, 1, 3, 369170628); detectorId.SetTIBTOBEntry(2, 1, 4, 369170632); detectorId.SetTIBTOBEntry(2, 1, 5, 369170636); detectorId.SetTIBTOBEntry(2, 2, 0, 369174812); detectorId.SetTIBTOBEntry(2, 2, 1, 369174808); detectorId.SetTIBTOBEntry(2, 2, 2, 369174804); detectorId.SetTIBTOBEntry(2, 2, 3, 369170708); detectorId.SetTIBTOBEntry(2, 2, 4, 369170712); detectorId.SetTIBTOBEntry(2, 2, 5, 369170716); detectorId.SetTIBTOBEntry(2, 3, 0, 369174940); detectorId.SetTIBTOBEntry(2, 3, 1, 369174936); detectorId.SetTIBTOBEntry(2, 3, 2, 369174932); detectorId.SetTIBTOBEntry(2, 3, 3, 369170836); detectorId.SetTIBTOBEntry(2, 3, 4, 369170840); detectorId.SetTIBTOBEntry(2, 3, 5, 369170844); detectorId.SetTIBTOBEntry(2, 4, 0, 369175068); detectorId.SetTIBTOBEntry(2, 4, 1, 369175064); detectorId.SetTIBTOBEntry(2, 4, 2, 369175060); detectorId.SetTIBTOBEntry(2, 4, 3, 369170964); detectorId.SetTIBTOBEntry(2, 4, 4, 369170968); detectorId.SetTIBTOBEntry(2, 4, 5, 369170972); detectorId.SetTIBTOBEntry(2, 5, 0, 369175164); detectorId.SetTIBTOBEntry(2, 5, 1, 369175160); detectorId.SetTIBTOBEntry(2, 5, 2, 369175156); detectorId.SetTIBTOBEntry(2, 5, 3, 369171060); detectorId.SetTIBTOBEntry(2, 5, 4, 369171064); detectorId.SetTIBTOBEntry(2, 5, 5, 369171068); detectorId.SetTIBTOBEntry(2, 6, 0, 369175292); detectorId.SetTIBTOBEntry(2, 6, 1, 369175288); detectorId.SetTIBTOBEntry(2, 6, 2, 369175284); detectorId.SetTIBTOBEntry(2, 6, 3, 369171188); detectorId.SetTIBTOBEntry(2, 6, 4, 369171192); detectorId.SetTIBTOBEntry(2, 6, 5, 369171196); detectorId.SetTIBTOBEntry(2, 7, 0, 369175372); detectorId.SetTIBTOBEntry(2, 7, 1, 369175368); detectorId.SetTIBTOBEntry(2, 7, 2, 369175364); detectorId.SetTIBTOBEntry(2, 7, 3, 369171268); detectorId.SetTIBTOBEntry(2, 7, 4, 369171272); detectorId.SetTIBTOBEntry(2, 7, 5, 369171276); // TOB detectorId.SetTIBTOBEntry(3, 0, 0, 436232314); detectorId.SetTIBTOBEntry(3, 0, 1, 436232306); detectorId.SetTIBTOBEntry(3, 0, 2, 436232298); detectorId.SetTIBTOBEntry(3, 0, 3, 436228198); detectorId.SetTIBTOBEntry(3, 0, 4, 436228206); detectorId.SetTIBTOBEntry(3, 0, 5, 436228214); detectorId.SetTIBTOBEntry(3, 1, 0, 436232506); detectorId.SetTIBTOBEntry(3, 1, 1, 436232498); detectorId.SetTIBTOBEntry(3, 1, 2, 436232490); detectorId.SetTIBTOBEntry(3, 1, 3, 436228390); detectorId.SetTIBTOBEntry(3, 1, 4, 436228398); detectorId.SetTIBTOBEntry(3, 1, 5, 436228406); detectorId.SetTIBTOBEntry(3, 2, 0, 436232634); detectorId.SetTIBTOBEntry(3, 2, 1, 436232626); detectorId.SetTIBTOBEntry(3, 2, 2, 436232618); detectorId.SetTIBTOBEntry(3, 2, 3, 436228518); detectorId.SetTIBTOBEntry(3, 2, 4, 436228526); detectorId.SetTIBTOBEntry(3, 2, 5, 436228534); detectorId.SetTIBTOBEntry(3, 3, 0, 436232826); detectorId.SetTIBTOBEntry(3, 3, 1, 436232818); detectorId.SetTIBTOBEntry(3, 3, 2, 436232810); detectorId.SetTIBTOBEntry(3, 3, 3, 436228710); detectorId.SetTIBTOBEntry(3, 3, 4, 436228718); detectorId.SetTIBTOBEntry(3, 3, 5, 436228726); detectorId.SetTIBTOBEntry(3, 4, 0, 436233018); detectorId.SetTIBTOBEntry(3, 4, 1, 436233010); detectorId.SetTIBTOBEntry(3, 4, 2, 436233002); detectorId.SetTIBTOBEntry(3, 4, 3, 436228902); detectorId.SetTIBTOBEntry(3, 4, 4, 436228910); detectorId.SetTIBTOBEntry(3, 4, 5, 436228918); detectorId.SetTIBTOBEntry(3, 5, 0, 436233146); detectorId.SetTIBTOBEntry(3, 5, 1, 436233138); detectorId.SetTIBTOBEntry(3, 5, 2, 436233130); detectorId.SetTIBTOBEntry(3, 5, 3, 436229030); detectorId.SetTIBTOBEntry(3, 5, 4, 436229038); detectorId.SetTIBTOBEntry(3, 5, 5, 436229046); detectorId.SetTIBTOBEntry(3, 6, 0, 436233338); detectorId.SetTIBTOBEntry(3, 6, 1, 436233330); detectorId.SetTIBTOBEntry(3, 6, 2, 436233322); detectorId.SetTIBTOBEntry(3, 6, 3, 436229222); detectorId.SetTIBTOBEntry(3, 6, 4, 436229230); detectorId.SetTIBTOBEntry(3, 6, 5, 436229238); detectorId.SetTIBTOBEntry(3, 7, 0, 436233466); detectorId.SetTIBTOBEntry(3, 7, 1, 436233458); detectorId.SetTIBTOBEntry(3, 7, 2, 436233450); detectorId.SetTIBTOBEntry(3, 7, 3, 436229350); detectorId.SetTIBTOBEntry(3, 7, 4, 436229358); detectorId.SetTIBTOBEntry(3, 7, 5, 436229366); // TEC+ AT detectorId.SetTEC2TECEntry(0, 0, 0, 470307208); detectorId.SetTEC2TECEntry(0, 0, 1, 470323592); detectorId.SetTEC2TECEntry(0, 0, 2, 470339976); detectorId.SetTEC2TECEntry(0, 0, 3, 470356360); detectorId.SetTEC2TECEntry(0, 0, 4, 470372744); detectorId.SetTEC2TECEntry(0, 1, 0, 470307468); detectorId.SetTEC2TECEntry(0, 1, 1, 470323852); detectorId.SetTEC2TECEntry(0, 1, 2, 470340236); detectorId.SetTEC2TECEntry(0, 1, 3, 470356620); detectorId.SetTEC2TECEntry(0, 1, 4, 470373004); detectorId.SetTEC2TECEntry(0, 2, 0, 470307716); detectorId.SetTEC2TECEntry(0, 2, 1, 470324100); detectorId.SetTEC2TECEntry(0, 2, 2, 470340484); detectorId.SetTEC2TECEntry(0, 2, 3, 470356868); detectorId.SetTEC2TECEntry(0, 2, 4, 470373252); detectorId.SetTEC2TECEntry(0, 3, 0, 470307976); detectorId.SetTEC2TECEntry(0, 3, 1, 470324360); detectorId.SetTEC2TECEntry(0, 3, 2, 470340744); detectorId.SetTEC2TECEntry(0, 3, 3, 470357128); detectorId.SetTEC2TECEntry(0, 3, 4, 470373512); detectorId.SetTEC2TECEntry(0, 4, 0, 470308236); detectorId.SetTEC2TECEntry(0, 4, 1, 470324620); detectorId.SetTEC2TECEntry(0, 4, 2, 470341004); detectorId.SetTEC2TECEntry(0, 4, 3, 470357388); detectorId.SetTEC2TECEntry(0, 4, 4, 470373772); detectorId.SetTEC2TECEntry(0, 5, 0, 470308488); detectorId.SetTEC2TECEntry(0, 5, 1, 470324872); detectorId.SetTEC2TECEntry(0, 5, 2, 470341256); detectorId.SetTEC2TECEntry(0, 5, 3, 470357640); detectorId.SetTEC2TECEntry(0, 5, 4, 470374024); detectorId.SetTEC2TECEntry(0, 6, 0, 470308748); detectorId.SetTEC2TECEntry(0, 6, 1, 470325132); detectorId.SetTEC2TECEntry(0, 6, 2, 470341516); detectorId.SetTEC2TECEntry(0, 6, 3, 470357900); detectorId.SetTEC2TECEntry(0, 6, 4, 470374284); detectorId.SetTEC2TECEntry(0, 7, 0, 470308996); detectorId.SetTEC2TECEntry(0, 7, 1, 470325380); detectorId.SetTEC2TECEntry(0, 7, 2, 470341764); detectorId.SetTEC2TECEntry(0, 7, 3, 470358148); detectorId.SetTEC2TECEntry(0, 7, 4, 470374532); // TEC- AT detectorId.SetTEC2TECEntry(1, 0, 0, 470045064); detectorId.SetTEC2TECEntry(1, 0, 1, 470061448); detectorId.SetTEC2TECEntry(1, 0, 2, 470077832); detectorId.SetTEC2TECEntry(1, 0, 3, 470094216); detectorId.SetTEC2TECEntry(1, 0, 4, 470110600); detectorId.SetTEC2TECEntry(1, 1, 0, 470045316); detectorId.SetTEC2TECEntry(1, 1, 1, 470061700); detectorId.SetTEC2TECEntry(1, 1, 2, 470078084); detectorId.SetTEC2TECEntry(1, 1, 3, 470094468); detectorId.SetTEC2TECEntry(1, 1, 4, 470110852); detectorId.SetTEC2TECEntry(1, 2, 0, 470045580); detectorId.SetTEC2TECEntry(1, 2, 1, 470061964); detectorId.SetTEC2TECEntry(1, 2, 2, 470078348); detectorId.SetTEC2TECEntry(1, 2, 3, 470094732); detectorId.SetTEC2TECEntry(1, 2, 4, 470111116); detectorId.SetTEC2TECEntry(1, 3, 0, 470045832); detectorId.SetTEC2TECEntry(1, 3, 1, 470062216); detectorId.SetTEC2TECEntry(1, 3, 2, 470078600); detectorId.SetTEC2TECEntry(1, 3, 3, 470094984); detectorId.SetTEC2TECEntry(1, 3, 4, 470111368); detectorId.SetTEC2TECEntry(1, 4, 0, 470046084); detectorId.SetTEC2TECEntry(1, 4, 1, 470062468); detectorId.SetTEC2TECEntry(1, 4, 2, 470078852); detectorId.SetTEC2TECEntry(1, 4, 3, 470095236); detectorId.SetTEC2TECEntry(1, 4, 4, 470111620); detectorId.SetTEC2TECEntry(1, 5, 0, 470046344); detectorId.SetTEC2TECEntry(1, 5, 1, 470062728); detectorId.SetTEC2TECEntry(1, 5, 2, 470079112); detectorId.SetTEC2TECEntry(1, 5, 3, 470095496); detectorId.SetTEC2TECEntry(1, 5, 4, 470111880); detectorId.SetTEC2TECEntry(1, 6, 0, 470046596); detectorId.SetTEC2TECEntry(1, 6, 1, 470062980); detectorId.SetTEC2TECEntry(1, 6, 2, 470079364); detectorId.SetTEC2TECEntry(1, 6, 3, 470095748); detectorId.SetTEC2TECEntry(1, 6, 4, 470112132); detectorId.SetTEC2TECEntry(1, 7, 0, 470046860); detectorId.SetTEC2TECEntry(1, 7, 1, 470063244); detectorId.SetTEC2TECEntry(1, 7, 2, 470079628); detectorId.SetTEC2TECEntry(1, 7, 3, 470096012); detectorId.SetTEC2TECEntry(1, 7, 4, 470112396); } //define this as a plug-in DEFINE_FWK_MODULE(RawDataConverter);