/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Alignment/LaserAlignment/plugins/LaserAlignmentT0Producer.cc
642 строки
23 KB
mmusich
get rid of CMS deprecation warnings in Alignment/LaserAlignment
20 ноя 2021, 15:15
20 ноя 2021, 15:15
0a3e1db
Код
Авторство
О чём код?
/**\class LaserAlignmentT0Producer LaserAlignmentT0Producer.cc NewAlignment/LaserAlignmentT0Producer/src/LaserAlignmentT0Producer.cc Description: AlCaRECO producer (TkLAS data filter) running on T0 Implementation: <Notes on implementation> */ // // Original Author: Jan Olzem // Created: Wed Feb 13 17:30:40 CET 2008 // $Id: LaserAlignmentT0Producer.h,v 1.2 2008/03/03 09:43:32 olzem Exp $ // // // system include files #include <memory> #include <algorithm> // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" // // class decleration // class LaserAlignmentT0Producer : public edm::global::EDProducer<> { public: explicit LaserAlignmentT0Producer(const edm::ParameterSet&); ~LaserAlignmentT0Producer() override; private: void beginJob() override; void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; //void produce(edm::Event&, const edm::EventSetup&) override; void FillDetIds(void); // container for cfg data std::vector<edm::ParameterSet> digiProducerList; std::string digiProducer; std::string digiLabel; std::string digiType; // this one stores the det ids for all the 434 LAS modules std::vector<unsigned int> theLasDetIds; }; /// /// Loops all input SiStripDigi or SiStripRawDigi collections /// and announces the corresponding product /// LaserAlignmentT0Producer::LaserAlignmentT0Producer(const edm::ParameterSet& iConfig) { // alias for the Branches in the output file std::string alias(iConfig.getParameter<std::string>("@module_label")); // the list of input digi products from the cfg digiProducerList = iConfig.getParameter<std::vector<edm::ParameterSet>>("DigiProducerList"); // loop all input products for (const auto& aDigiProducer : digiProducerList) { std::string digiProducer = aDigiProducer.getParameter<std::string>("DigiProducer"); std::string digiLabel = aDigiProducer.getParameter<std::string>("DigiLabel"); std::string digiType = aDigiProducer.getParameter<std::string>("DigiType"); // check if raw/processed digis in this collection if (digiType == "Raw") { produces<edm::DetSetVector<SiStripRawDigi>>(digiLabel).setBranchAlias(alias + "siStripRawDigis"); } else if (digiType == "Processed") { // "ZeroSuppressed" digis (non-raw) produces<edm::DetSetVector<SiStripDigi>>(digiLabel).setBranchAlias(alias + "siStripDigis"); } else { throw cms::Exception("LaserAlignmentT0Producer") << "ERROR ** Unknown DigiType: " << digiType << " specified in cfg file" << std::endl; } } } /// /// /// LaserAlignmentT0Producer::~LaserAlignmentT0Producer() = default; /// /// outline: /// * loops alls input strip digi products /// * branches depending on if it contains SiStripDigi or SiStripRawDigi /// * for each product: selects only LAS module DetSets /// and copies them to new DetSetVector /// void LaserAlignmentT0Producer::produce(edm::StreamID id, edm::Event& iEvent, const edm::EventSetup& iSetup) const { //void LaserAlignmentT0Producer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; // loop all input products for (const auto& aDigiProducer : digiProducerList) { std::string digiProducer = aDigiProducer.getParameter<std::string>("DigiProducer"); std::string digiLabel = aDigiProducer.getParameter<std::string>("DigiLabel"); std::string digiType = aDigiProducer.getParameter<std::string>("DigiType"); // now a distinction of cases: raw or processed digis? // first we go for raw digis => SiStripRawDigi if (digiType == "Raw") { // retrieve the SiStripRawDigis collection edm::Handle<edm::DetSetVector<SiStripRawDigi>> theStripDigis; iEvent.getByLabel(digiProducer, digiLabel, theStripDigis); // empty container std::vector<edm::DetSet<SiStripRawDigi>> theDigiVector; // loop the incoming DetSetVector for (edm::DetSetVector<SiStripRawDigi>::const_iterator aDetSet = theStripDigis->begin(); aDetSet != theStripDigis->end(); ++aDetSet) { // is the current DetSet that of a LAS module? if (find(theLasDetIds.begin(), theLasDetIds.end(), aDetSet->detId()) != theLasDetIds.end()) { // yes it's a LAS module, so copy the Digis to the output // a DetSet for output edm::DetSet<SiStripRawDigi> outputDetSet(aDetSet->detId()); // copy all the digis to the output DetSet. Unfortunately, there's no copy constructor.. for (edm::DetSet<SiStripRawDigi>::const_iterator aDigi = aDetSet->begin(); aDigi != aDetSet->end(); ++aDigi) { outputDetSet.push_back(*aDigi); } // onto the later DetSetVector theDigiVector.push_back(outputDetSet); } } // create the output collection for the DetSetVector // write output to file iEvent.put(std::make_unique<edm::DetSetVector<SiStripRawDigi>>(theDigiVector), digiLabel); } // then we assume "ZeroSuppressed" (non-raw) => SiStripDigi // and do exactly the same as above else if (digiType == "Processed") { edm::Handle<edm::DetSetVector<SiStripDigi>> theStripDigis; iEvent.getByLabel(digiProducer, digiLabel, theStripDigis); std::vector<edm::DetSet<SiStripDigi>> theDigiVector; for (edm::DetSetVector<SiStripDigi>::const_iterator aDetSet = theStripDigis->begin(); aDetSet != theStripDigis->end(); ++aDetSet) { if (find(theLasDetIds.begin(), theLasDetIds.end(), aDetSet->detId()) != theLasDetIds.end()) { edm::DetSet<SiStripDigi> outputDetSet(aDetSet->detId()); for (edm::DetSet<SiStripDigi>::const_iterator aDigi = aDetSet->begin(); aDigi != aDetSet->end(); ++aDigi) { outputDetSet.push_back(*aDigi); } theDigiVector.push_back(outputDetSet); } } iEvent.put(std::make_unique<edm::DetSetVector<SiStripDigi>>(theDigiVector), digiLabel); } else { throw cms::Exception("LaserAlignmentT0Producer") << "ERROR ** Unknown DigiType: " << digiType << " specified in cfg file" << std::endl; } } // loop all input products } /// /// /// void LaserAlignmentT0Producer::beginJob() { // fill the vector with LAS det ids FillDetIds(); } /// /// fill a vector with all the det ids of the 434 /// siStrip modules relevant to the LAS /// /// (ugly mechanism, should later be /// replaced by some hash-based) /// void LaserAlignmentT0Producer::FillDetIds(void) { theLasDetIds.resize(0); // TEC+ internal alignment modules theLasDetIds.push_back(470307208); theLasDetIds.push_back(470323592); theLasDetIds.push_back(470339976); theLasDetIds.push_back(470356360); theLasDetIds.push_back(470372744); theLasDetIds.push_back(470389128); theLasDetIds.push_back(470405512); theLasDetIds.push_back(470421896); theLasDetIds.push_back(470438280); theLasDetIds.push_back(470307464); theLasDetIds.push_back(470323848); theLasDetIds.push_back(470340232); theLasDetIds.push_back(470356616); theLasDetIds.push_back(470373000); theLasDetIds.push_back(470389384); theLasDetIds.push_back(470405768); theLasDetIds.push_back(470422152); theLasDetIds.push_back(470438536); theLasDetIds.push_back(470307720); theLasDetIds.push_back(470324104); theLasDetIds.push_back(470340488); theLasDetIds.push_back(470356872); theLasDetIds.push_back(470373256); theLasDetIds.push_back(470389640); theLasDetIds.push_back(470406024); theLasDetIds.push_back(470422408); theLasDetIds.push_back(470438792); theLasDetIds.push_back(470307976); theLasDetIds.push_back(470324360); theLasDetIds.push_back(470340744); theLasDetIds.push_back(470357128); theLasDetIds.push_back(470373512); theLasDetIds.push_back(470389896); theLasDetIds.push_back(470406280); theLasDetIds.push_back(470422664); theLasDetIds.push_back(470439048); theLasDetIds.push_back(470308232); theLasDetIds.push_back(470324616); theLasDetIds.push_back(470341000); theLasDetIds.push_back(470357384); theLasDetIds.push_back(470373768); theLasDetIds.push_back(470390152); theLasDetIds.push_back(470406536); theLasDetIds.push_back(470422920); theLasDetIds.push_back(470439304); theLasDetIds.push_back(470308488); theLasDetIds.push_back(470324872); theLasDetIds.push_back(470341256); theLasDetIds.push_back(470357640); theLasDetIds.push_back(470374024); theLasDetIds.push_back(470390408); theLasDetIds.push_back(470406792); theLasDetIds.push_back(470423176); theLasDetIds.push_back(470439560); theLasDetIds.push_back(470308744); theLasDetIds.push_back(470325128); theLasDetIds.push_back(470341512); theLasDetIds.push_back(470357896); theLasDetIds.push_back(470374280); theLasDetIds.push_back(470390664); theLasDetIds.push_back(470407048); theLasDetIds.push_back(470423432); theLasDetIds.push_back(470439816); theLasDetIds.push_back(470309000); theLasDetIds.push_back(470325384); theLasDetIds.push_back(470341768); theLasDetIds.push_back(470358152); theLasDetIds.push_back(470374536); theLasDetIds.push_back(470390920); theLasDetIds.push_back(470407304); theLasDetIds.push_back(470423688); theLasDetIds.push_back(470440072); theLasDetIds.push_back(470307272); theLasDetIds.push_back(470323656); theLasDetIds.push_back(470340040); theLasDetIds.push_back(470356424); theLasDetIds.push_back(470372808); theLasDetIds.push_back(470389192); theLasDetIds.push_back(470405576); theLasDetIds.push_back(470421960); theLasDetIds.push_back(470438344); theLasDetIds.push_back(470307528); theLasDetIds.push_back(470323912); theLasDetIds.push_back(470340296); theLasDetIds.push_back(470356680); theLasDetIds.push_back(470373064); theLasDetIds.push_back(470389448); theLasDetIds.push_back(470405832); theLasDetIds.push_back(470422216); theLasDetIds.push_back(470438600); theLasDetIds.push_back(470307784); theLasDetIds.push_back(470324168); theLasDetIds.push_back(470340552); theLasDetIds.push_back(470356936); theLasDetIds.push_back(470373320); theLasDetIds.push_back(470389704); theLasDetIds.push_back(470406088); theLasDetIds.push_back(470422472); theLasDetIds.push_back(470438856); theLasDetIds.push_back(470308040); theLasDetIds.push_back(470324424); theLasDetIds.push_back(470340808); theLasDetIds.push_back(470357192); theLasDetIds.push_back(470373576); theLasDetIds.push_back(470389960); theLasDetIds.push_back(470406344); theLasDetIds.push_back(470422728); theLasDetIds.push_back(470439112); theLasDetIds.push_back(470308296); theLasDetIds.push_back(470324680); theLasDetIds.push_back(470341064); theLasDetIds.push_back(470357448); theLasDetIds.push_back(470373832); theLasDetIds.push_back(470390216); theLasDetIds.push_back(470406600); theLasDetIds.push_back(470422984); theLasDetIds.push_back(470439368); theLasDetIds.push_back(470308552); theLasDetIds.push_back(470324936); theLasDetIds.push_back(470341320); theLasDetIds.push_back(470357704); theLasDetIds.push_back(470374088); theLasDetIds.push_back(470390472); theLasDetIds.push_back(470406856); theLasDetIds.push_back(470423240); theLasDetIds.push_back(470439624); theLasDetIds.push_back(470308808); theLasDetIds.push_back(470325192); theLasDetIds.push_back(470341576); theLasDetIds.push_back(470357960); theLasDetIds.push_back(470374344); theLasDetIds.push_back(470390728); theLasDetIds.push_back(470407112); theLasDetIds.push_back(470423496); theLasDetIds.push_back(470439880); theLasDetIds.push_back(470309064); theLasDetIds.push_back(470325448); theLasDetIds.push_back(470341832); theLasDetIds.push_back(470358216); theLasDetIds.push_back(470374600); theLasDetIds.push_back(470390984); theLasDetIds.push_back(470407368); theLasDetIds.push_back(470423752); theLasDetIds.push_back(470440136); // TEC- internal alignment modules theLasDetIds.push_back(470045064); theLasDetIds.push_back(470061448); theLasDetIds.push_back(470077832); theLasDetIds.push_back(470094216); theLasDetIds.push_back(470110600); theLasDetIds.push_back(470126984); theLasDetIds.push_back(470143368); theLasDetIds.push_back(470159752); theLasDetIds.push_back(470176136); theLasDetIds.push_back(470045320); theLasDetIds.push_back(470061704); theLasDetIds.push_back(470078088); theLasDetIds.push_back(470094472); theLasDetIds.push_back(470110856); theLasDetIds.push_back(470127240); theLasDetIds.push_back(470143624); theLasDetIds.push_back(470160008); theLasDetIds.push_back(470176392); theLasDetIds.push_back(470045576); theLasDetIds.push_back(470061960); theLasDetIds.push_back(470078344); theLasDetIds.push_back(470094728); theLasDetIds.push_back(470111112); theLasDetIds.push_back(470127496); theLasDetIds.push_back(470143880); theLasDetIds.push_back(470160264); theLasDetIds.push_back(470176648); theLasDetIds.push_back(470045832); theLasDetIds.push_back(470062216); theLasDetIds.push_back(470078600); theLasDetIds.push_back(470094984); theLasDetIds.push_back(470111368); theLasDetIds.push_back(470127752); theLasDetIds.push_back(470144136); theLasDetIds.push_back(470160520); theLasDetIds.push_back(470176904); theLasDetIds.push_back(470046088); theLasDetIds.push_back(470062472); theLasDetIds.push_back(470078856); theLasDetIds.push_back(470095240); theLasDetIds.push_back(470111624); theLasDetIds.push_back(470128008); theLasDetIds.push_back(470144392); theLasDetIds.push_back(470160776); theLasDetIds.push_back(470177160); theLasDetIds.push_back(470046344); theLasDetIds.push_back(470062728); theLasDetIds.push_back(470079112); theLasDetIds.push_back(470095496); theLasDetIds.push_back(470111880); theLasDetIds.push_back(470128264); theLasDetIds.push_back(470144648); theLasDetIds.push_back(470161032); theLasDetIds.push_back(470177416); theLasDetIds.push_back(470046600); theLasDetIds.push_back(470062984); theLasDetIds.push_back(470079368); theLasDetIds.push_back(470095752); theLasDetIds.push_back(470112136); theLasDetIds.push_back(470128520); theLasDetIds.push_back(470144904); theLasDetIds.push_back(470161288); theLasDetIds.push_back(470177672); theLasDetIds.push_back(470046856); theLasDetIds.push_back(470063240); theLasDetIds.push_back(470079624); theLasDetIds.push_back(470096008); theLasDetIds.push_back(470112392); theLasDetIds.push_back(470128776); theLasDetIds.push_back(470145160); theLasDetIds.push_back(470161544); theLasDetIds.push_back(470177928); theLasDetIds.push_back(470045128); theLasDetIds.push_back(470061512); theLasDetIds.push_back(470077896); theLasDetIds.push_back(470094280); theLasDetIds.push_back(470110664); theLasDetIds.push_back(470127048); theLasDetIds.push_back(470143432); theLasDetIds.push_back(470159816); theLasDetIds.push_back(470176200); theLasDetIds.push_back(470045384); theLasDetIds.push_back(470061768); theLasDetIds.push_back(470078152); theLasDetIds.push_back(470094536); theLasDetIds.push_back(470110920); theLasDetIds.push_back(470127304); theLasDetIds.push_back(470143688); theLasDetIds.push_back(470160072); theLasDetIds.push_back(470176456); theLasDetIds.push_back(470045640); theLasDetIds.push_back(470062024); theLasDetIds.push_back(470078408); theLasDetIds.push_back(470094792); theLasDetIds.push_back(470111176); theLasDetIds.push_back(470127560); theLasDetIds.push_back(470143944); theLasDetIds.push_back(470160328); theLasDetIds.push_back(470176712); theLasDetIds.push_back(470045896); theLasDetIds.push_back(470062280); theLasDetIds.push_back(470078664); theLasDetIds.push_back(470095048); theLasDetIds.push_back(470111432); theLasDetIds.push_back(470127816); theLasDetIds.push_back(470144200); theLasDetIds.push_back(470160584); theLasDetIds.push_back(470176968); theLasDetIds.push_back(470046152); theLasDetIds.push_back(470062536); theLasDetIds.push_back(470078920); theLasDetIds.push_back(470095304); theLasDetIds.push_back(470111688); theLasDetIds.push_back(470128072); theLasDetIds.push_back(470144456); theLasDetIds.push_back(470160840); theLasDetIds.push_back(470177224); theLasDetIds.push_back(470046408); theLasDetIds.push_back(470062792); theLasDetIds.push_back(470079176); theLasDetIds.push_back(470095560); theLasDetIds.push_back(470111944); theLasDetIds.push_back(470128328); theLasDetIds.push_back(470144712); theLasDetIds.push_back(470161096); theLasDetIds.push_back(470177480); theLasDetIds.push_back(470046664); theLasDetIds.push_back(470063048); theLasDetIds.push_back(470079432); theLasDetIds.push_back(470095816); theLasDetIds.push_back(470112200); theLasDetIds.push_back(470128584); theLasDetIds.push_back(470144968); theLasDetIds.push_back(470161352); theLasDetIds.push_back(470177736); theLasDetIds.push_back(470046920); theLasDetIds.push_back(470063304); theLasDetIds.push_back(470079688); theLasDetIds.push_back(470096072); theLasDetIds.push_back(470112456); theLasDetIds.push_back(470128840); theLasDetIds.push_back(470145224); theLasDetIds.push_back(470161608); theLasDetIds.push_back(470177992); // TEC+ alignment tube modules theLasDetIds.push_back(470307468); theLasDetIds.push_back(470323852); theLasDetIds.push_back(470340236); theLasDetIds.push_back(470356620); theLasDetIds.push_back(470373004); theLasDetIds.push_back(470307716); theLasDetIds.push_back(470324100); theLasDetIds.push_back(470340484); theLasDetIds.push_back(470356868); theLasDetIds.push_back(470373252); theLasDetIds.push_back(470308236); theLasDetIds.push_back(470324620); theLasDetIds.push_back(470341004); theLasDetIds.push_back(470357388); theLasDetIds.push_back(470373772); theLasDetIds.push_back(470308748); theLasDetIds.push_back(470325132); theLasDetIds.push_back(470341516); theLasDetIds.push_back(470357900); theLasDetIds.push_back(470374284); theLasDetIds.push_back(470308996); theLasDetIds.push_back(470325380); theLasDetIds.push_back(470341764); theLasDetIds.push_back(470358148); theLasDetIds.push_back(470374532); // TEC- alignment tube modules theLasDetIds.push_back(470045316); theLasDetIds.push_back(470061700); theLasDetIds.push_back(470078084); theLasDetIds.push_back(470094468); theLasDetIds.push_back(470110852); theLasDetIds.push_back(470045580); theLasDetIds.push_back(470061964); theLasDetIds.push_back(470078348); theLasDetIds.push_back(470094732); theLasDetIds.push_back(470111116); theLasDetIds.push_back(470046084); theLasDetIds.push_back(470062468); theLasDetIds.push_back(470078852); theLasDetIds.push_back(470095236); theLasDetIds.push_back(470111620); theLasDetIds.push_back(470046596); theLasDetIds.push_back(470062980); theLasDetIds.push_back(470079364); theLasDetIds.push_back(470095748); theLasDetIds.push_back(470112132); theLasDetIds.push_back(470046860); theLasDetIds.push_back(470063244); theLasDetIds.push_back(470079628); theLasDetIds.push_back(470096012); theLasDetIds.push_back(470112396); // TIB alignment tube modules theLasDetIds.push_back(369174604); theLasDetIds.push_back(369174600); theLasDetIds.push_back(369174596); theLasDetIds.push_back(369170500); theLasDetIds.push_back(369170504); theLasDetIds.push_back(369170508); theLasDetIds.push_back(369174732); theLasDetIds.push_back(369174728); theLasDetIds.push_back(369174724); theLasDetIds.push_back(369170628); theLasDetIds.push_back(369170632); theLasDetIds.push_back(369170636); theLasDetIds.push_back(369174812); theLasDetIds.push_back(369174808); theLasDetIds.push_back(369174804); theLasDetIds.push_back(369170708); theLasDetIds.push_back(369170712); theLasDetIds.push_back(369170716); theLasDetIds.push_back(369174940); theLasDetIds.push_back(369174936); theLasDetIds.push_back(369174932); theLasDetIds.push_back(369170836); theLasDetIds.push_back(369170840); theLasDetIds.push_back(369170844); theLasDetIds.push_back(369175068); theLasDetIds.push_back(369175064); theLasDetIds.push_back(369175060); theLasDetIds.push_back(369170964); theLasDetIds.push_back(369170968); theLasDetIds.push_back(369170972); theLasDetIds.push_back(369175164); theLasDetIds.push_back(369175160); theLasDetIds.push_back(369175156); theLasDetIds.push_back(369171060); theLasDetIds.push_back(369171064); theLasDetIds.push_back(369171068); theLasDetIds.push_back(369175292); theLasDetIds.push_back(369175288); theLasDetIds.push_back(369175284); theLasDetIds.push_back(369171188); theLasDetIds.push_back(369171192); theLasDetIds.push_back(369171196); theLasDetIds.push_back(369175372); theLasDetIds.push_back(369175368); theLasDetIds.push_back(369175364); theLasDetIds.push_back(369171268); theLasDetIds.push_back(369171272); theLasDetIds.push_back(369171276); // TOB alignment tube modules theLasDetIds.push_back(436232314); theLasDetIds.push_back(436232306); theLasDetIds.push_back(436232298); theLasDetIds.push_back(436228198); theLasDetIds.push_back(436228206); theLasDetIds.push_back(436228214); theLasDetIds.push_back(436232506); theLasDetIds.push_back(436232498); theLasDetIds.push_back(436232490); theLasDetIds.push_back(436228390); theLasDetIds.push_back(436228398); theLasDetIds.push_back(436228406); theLasDetIds.push_back(436232634); theLasDetIds.push_back(436232626); theLasDetIds.push_back(436232618); theLasDetIds.push_back(436228518); theLasDetIds.push_back(436228526); theLasDetIds.push_back(436228534); theLasDetIds.push_back(436232826); theLasDetIds.push_back(436232818); theLasDetIds.push_back(436232810); theLasDetIds.push_back(436228710); theLasDetIds.push_back(436228718); theLasDetIds.push_back(436228726); theLasDetIds.push_back(436233018); theLasDetIds.push_back(436233010); theLasDetIds.push_back(436233002); theLasDetIds.push_back(436228902); theLasDetIds.push_back(436228910); theLasDetIds.push_back(436228918); theLasDetIds.push_back(436233146); theLasDetIds.push_back(436233138); theLasDetIds.push_back(436233130); theLasDetIds.push_back(436229030); theLasDetIds.push_back(436229038); theLasDetIds.push_back(436229046); theLasDetIds.push_back(436233338); theLasDetIds.push_back(436233330); theLasDetIds.push_back(436233322); theLasDetIds.push_back(436229222); theLasDetIds.push_back(436229230); theLasDetIds.push_back(436229238); theLasDetIds.push_back(436233466); theLasDetIds.push_back(436233458); theLasDetIds.push_back(436233450); theLasDetIds.push_back(436229350); theLasDetIds.push_back(436229358); theLasDetIds.push_back(436229366); } //define this as a plug-in DEFINE_FWK_MODULE(LaserAlignmentT0Producer);