diff --git a/DataFormats/L1TGlobal/interface/GlobalObject.h b/DataFormats/L1TGlobal/interface/GlobalObject.h index b236c7aca0940..e975b54169ba8 100644 --- a/DataFormats/L1TGlobal/interface/GlobalObject.h +++ b/DataFormats/L1TGlobal/interface/GlobalObject.h @@ -23,11 +23,12 @@ enum GlobalObject gtETT, gtHTT, gtHTM, - gtETM2, + gtETMHF, gtMinBiasHFP0, gtMinBiasHFM0, gtMinBiasHFP1, gtMinBiasHFM1, + gtETTem, gtExternal, ObjNull }; diff --git a/DataFormats/L1TGlobal/src/GlobalObject.cc b/DataFormats/L1TGlobal/src/GlobalObject.cc index bff2686695b5a..4a916522733db 100644 --- a/DataFormats/L1TGlobal/src/GlobalObject.cc +++ b/DataFormats/L1TGlobal/src/GlobalObject.cc @@ -37,11 +37,12 @@ l1t::GlobalObject l1TGtObjectStringToEnum(const std::string& label) { {"ETT", gtETT}, {"HTT", gtHTT}, {"HTM", gtHTM}, - {"ETM2", gtETM2}, + {"ETMHF", gtETMHF}, {"MinBiasHFP0", gtMinBiasHFP0}, {"MinBiasHFM0", gtMinBiasHFM0}, {"MinBiasHFP1", gtMinBiasHFP1}, {"MinBiasHFM1", gtMinBiasHFM1}, + {"ETTem", gtETTem}, {"External", gtExternal}, {"ObjNull", ObjNull}, {0, (GlobalObject) - 1} @@ -119,8 +120,8 @@ std::string l1t::l1TGtObjectEnumToString(const GlobalObject& gtObject) { } break; - case gtETM2: { - gtObjectString = "ETM2"; + case gtETMHF: { + gtObjectString = "ETMHF"; } break; @@ -144,6 +145,11 @@ std::string l1t::l1TGtObjectEnumToString(const GlobalObject& gtObject) { } break; + case gtETTem: { + gtObjectString = "ETTem"; + } + break; + case gtExternal: { gtObjectString = "External"; } diff --git a/L1Trigger/L1TGlobal/interface/GlobalCondition.h b/L1Trigger/L1TGlobal/interface/GlobalCondition.h index 9511c9d7e08c0..38af611c829de 100644 --- a/L1Trigger/L1TGlobal/interface/GlobalCondition.h +++ b/L1Trigger/L1TGlobal/interface/GlobalCondition.h @@ -10,7 +10,7 @@ * Implementation: * * - * \author: Vasile Mihai Ghete - HEPHY Vienna + * \author: Brian Winer, OSU Vasile Mihai Ghete - HEPHY Vienna * * $Date$ * $Revision$ diff --git a/L1Trigger/L1TGlobal/interface/GlobalDefinitions.h b/L1Trigger/L1TGlobal/interface/GlobalDefinitions.h index 8e8d2dff46a84..3b561d99b70b7 100644 --- a/L1Trigger/L1TGlobal/interface/GlobalDefinitions.h +++ b/L1Trigger/L1TGlobal/interface/GlobalDefinitions.h @@ -11,7 +11,7 @@ * lightweight "maps" for enum string label and enum value * * - * \author: Vasile Mihai Ghete - HEPHY Vienna + * \author: Brian Winer, OSU Vasile Mihai Ghete - HEPHY Vienna * * $Date$ * $Revision$ @@ -61,11 +61,12 @@ enum GtConditionType { TypeETT, TypeHTT, TypeHTM, - TypeETM2, + TypeETMHF, TypeMinBiasHFP0, TypeMinBiasHFM0, TypeMinBiasHFP1, TypeMinBiasHFM1, + TypeETTem, TypeExternal }; diff --git a/L1Trigger/L1TGlobal/interface/GlobalScales.h b/L1Trigger/L1TGlobal/interface/GlobalScales.h index dec5f7534a87b..48ba28844c531 100644 --- a/L1Trigger/L1TGlobal/interface/GlobalScales.h +++ b/L1Trigger/L1TGlobal/interface/GlobalScales.h @@ -61,10 +61,12 @@ class GlobalScales inline void setJetScales(ScaleParameters& scales) { m_jetScales = scales; } - inline void setETTScales(ScaleParameters& scales) { m_ettScales = scales; } - inline void setHTTScales(ScaleParameters& scales) { m_httScales = scales; } - inline void setETMScales(ScaleParameters& scales) { m_etmScales = scales; } - inline void setHTMScales(ScaleParameters& scales) { m_htmScales = scales; } + inline void setETTScales(ScaleParameters& scales) { m_ettScales = scales; } + inline void setETTEmScales(ScaleParameters& scales) { m_ettEmScales = scales; } + inline void setHTTScales(ScaleParameters& scales) { m_httScales = scales; } + inline void setETMScales(ScaleParameters& scales) { m_etmScales = scales; } + inline void setETMHfScales(ScaleParameters& scales) { m_etmHfScales = scales; } + inline void setHTMScales(ScaleParameters& scales) { m_htmScales = scales; } virtual void setLUT_CalMuEta(std::string lutName, std::vector lut); virtual void setLUT_CalMuPhi(std::string lutName, std::vector lut); @@ -77,14 +79,16 @@ class GlobalScales inline void setScalesName(std::string name) { m_ScaleSetName = name; } virtual std::string getScalesName() const; - inline ScaleParameters getMUScales() const { return m_muScales; } - inline ScaleParameters getEGScales() const { return m_egScales; } - inline ScaleParameters getTAUScales() const { return m_tauScales; } - inline ScaleParameters getJETScales() const { return m_jetScales; } - inline ScaleParameters getETTScales() const { return m_ettScales; } - inline ScaleParameters getETMScales() const { return m_etmScales; } - inline ScaleParameters getHTTScales() const { return m_httScales; } - inline ScaleParameters getHTMScales() const { return m_htmScales; } + inline ScaleParameters getMUScales() const { return m_muScales; } + inline ScaleParameters getEGScales() const { return m_egScales; } + inline ScaleParameters getTAUScales() const { return m_tauScales; } + inline ScaleParameters getJETScales() const { return m_jetScales; } + inline ScaleParameters getETTScales() const { return m_ettScales; } + inline ScaleParameters getETTEmScales() const { return m_ettEmScales; } + inline ScaleParameters getETMScales() const { return m_etmScales; } + inline ScaleParameters getETMHFScales() const { return m_etmHfScales; } + inline ScaleParameters getHTTScales() const { return m_httScales; } + inline ScaleParameters getHTMScales() const { return m_htmScales; } long long getLUT_CalMuEta(std::string lutName, int element) const; @@ -122,8 +126,10 @@ class GlobalScales ScaleParameters m_jetScales; ScaleParameters m_ettScales; + ScaleParameters m_ettEmScales; ScaleParameters m_httScales; ScaleParameters m_etmScales; + ScaleParameters m_etmHfScales; ScaleParameters m_htmScales; //LUTs diff --git a/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc b/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc index f4e94e26dd0b7..a1a9133354e89 100644 --- a/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc +++ b/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc @@ -448,6 +448,10 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) ROOT::Math::LorentzVector > *p4 = new ROOT::Math::LorentzVector >(); l1t::EtSum etTotal(*p4, l1t::EtSum::EtSumType::kTotalEt,pt, 0, 0, 0); +// Scale down ETTem as an estimate + pt = convertPtToHW( sumEt*0.6, 2047, PtStep_ ); + l1t::EtSum etEmTotal(*p4, l1t::EtSum::EtSumType::kTotalEtEm,pt, 0, 0, 0); + pt = convertPtToHW( sumEt*0.9, 2047, PtStep_ ); l1t::EtSum htTotal(*p4, l1t::EtSum::EtSumType::kTotalHt,pt, 0, 0, 0); @@ -471,6 +475,8 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) int mpt = 0; int mphi= 0; + int mptHf = 0; + int mphiHf= 0; int mhpt = 0; int mhphi= 0; edm::Handle genMet; @@ -479,6 +485,10 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) mpt = convertPtToHW( genMet->front().pt(), MaxEt_, PtStep_ ); mphi = convertPhiToHW( genMet->front().phi(), PhiStepCalo_ ); + // Make Missing Et with HF slightly largeer and rotated (These are all fake inputs anyway...not supposed to be realistic) + mptHf = convertPtToHW( genMet->front().pt()*1.1, MaxEt_, PtStep_ ); + mphiHf = convertPhiToHW( genMet->front().phi()+ 3.14/7., PhiStepCalo_ ); + // Make Missing Ht slightly smaller and rotated (These are all fake inputs anyway...not supposed to be realistic) mhpt = convertPtToHW( genMet->front().pt()*0.9, MaxEt_, PtStep_ ); mhphi = convertPhiToHW( genMet->front().phi()+ 3.14/5., PhiStepCalo_ ); @@ -489,10 +499,12 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) // Missing Et and missing htt l1t::EtSum etmiss(*p4, l1t::EtSum::EtSumType::kMissingEt,mpt, 0,mphi, 0); + l1t::EtSum etmissHF(*p4, l1t::EtSum::EtSumType::kMissingEtHF,mptHf, 0,mphiHf, 0); l1t::EtSum htmiss(*p4, l1t::EtSum::EtSumType::kMissingHt,mhpt, 0,mhphi, 0); // Fill the EtSums in the Correct order etsumVec.push_back(etTotal); + etsumVec.push_back(etEmTotal); etsumVec.push_back(hfP0); etsumVec.push_back(htTotal); etsumVec.push_back(hfM0); @@ -500,6 +512,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) etsumVec.push_back(hfP1); etsumVec.push_back(htmiss); etsumVec.push_back(hfM1); + etsumVec.push_back(etmissHF); // Fill in some external conditions for testing if((iEvent.id().event())%2 == 0 ) { diff --git a/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc b/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc index 6c2121c6cc980..fc6eac908d51a 100644 --- a/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc +++ b/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc @@ -46,6 +46,11 @@ #include "DataFormats/L1TGlobal/interface/GlobalAlgBlk.h" #include "DataFormats/L1TGlobal/interface/GlobalExtBlk.h" +#include "DataFormats/L1TGlobal/interface/GlobalObject.h" + +#include "DataFormats/L1TGlobal/interface/GlobalObjectMapFwd.h" +#include "DataFormats/L1TGlobal/interface/GlobalObjectMap.h" +#include "DataFormats/L1TGlobal/interface/GlobalObjectMapRecord.h" #include "L1Trigger/L1TGlobal/interface/L1TGlobalUtil.h" @@ -75,7 +80,7 @@ namespace l1t { EDGetToken etsumToken; EDGetToken uGtAlgToken; EDGetToken uGtExtToken; - + EDGetToken uGtObjectMapToken; void dumpTestVectors(int bx, std::ofstream& myCout, Handle> muons, @@ -103,6 +108,7 @@ namespace l1t { bool m_dumpTestVectors; bool m_dumpGTRecord; + bool m_dumpObjectMap; bool m_dumpTriggerResults; int m_minBx; int m_maxBx; @@ -110,6 +116,9 @@ namespace l1t { int m_maxBxVectors; L1TGlobalUtil* m_gtUtil; + + private: + int m_tvVersion; }; GtRecordDump::GtRecordDump(const edm::ParameterSet& iConfig) @@ -123,11 +132,13 @@ namespace l1t { etsumToken = consumes>(iConfig.getParameter("etsumInputTag")); uGtAlgToken = consumes>(uGtAlgInputTag); uGtExtToken = consumes>(uGtExtInputTag); + uGtObjectMapToken = consumes(iConfig.getParameter("uGtObjectMapInputTag")); m_minBx = iConfig.getParameter("minBx"); m_maxBx = iConfig.getParameter("maxBx"); m_dumpGTRecord = iConfig.getParameter("dumpGTRecord"); + m_dumpObjectMap = iConfig.getParameter("dumpGTObjectMap"); m_dumpTriggerResults = iConfig.getParameter("dumpTrigResults"); m_minBxVectors = iConfig.getParameter("minBxVec"); @@ -135,6 +146,7 @@ namespace l1t { m_dumpTestVectors = iConfig.getParameter("dumpVectors"); std::string fileName = iConfig.getParameter("tvFileName"); if(m_dumpTestVectors) m_testVectorFile.open(fileName.c_str()); + m_tvVersion = iConfig.getParameter("tvVersion"); m_bxOffset = iConfig.getParameter("bxOffset"); @@ -176,6 +188,8 @@ namespace l1t { Handle> uGtExt; iEvent.getByToken(uGtExtToken,uGtExt); + Handle gtObjectMapRecord; + iEvent.getByToken(uGtObjectMapToken, gtObjectMapRecord); @@ -233,6 +247,85 @@ namespace l1t { cout << "================================================================================================================================" << endl; } + if(m_dumpObjectMap) { + + if (!gtObjectMapRecord.isValid()) { + edm::LogWarning("GtRecordDump") << " Warning: GlobalObjectMapRecord requested in configuration, but not found in the event." << std::endl; + } else { + + const std::vector& objMaps = gtObjectMapRecord->gtObjectMap(); + for (size_t imap =0; imap < objMaps.size(); imap++) { + + GlobalObjectMap oMap = objMaps.at(imap); + + int bit = oMap.algoBitNumber(); // same as bit from L1T Menu + int mapDecision = oMap.algoGtlResult(); + + // Check Object Map Result Agrees with GlobalAlgBlk result + if(mapDecision != (finalDecisions.at(bit)).second) { + std::cout << "WARNING: GlobalAlgBlk and ObjectMap Disagree on result for bit " << bit << " Alg: " << oMap.algoName() << std::endl; + } + + + // dump only if we have a positive trigger + if(mapDecision != 0) { + + // Header info + std::cout << " -------------------------------------------------------------------------------------------- \n" << + " Bit " << setw(3) << bit << " Decision " << setw(2) << mapDecision << " Alg Name " << setw(40) << oMap.algoName() << std::endl; + + // Combination + const std::vector& opTokenVecObjMap = oMap.operandTokenVector(); + const std::vector& condObjTypeVec = oMap.objectTypeVector(); +// const std::vector& condCombinations = oMapcombinationVector(); + + for(size_t iCond=0; iCond condObjType = condObjTypeVec[iCond]; + for(size_t iCondType=0; iCondTypesize() <<"] : "; + for (std::vector::const_iterator itComb = (*condComb).begin(); itComb != (*condComb).end(); itComb++) { + + // loop over objects in a combination for a given condition + // + unsigned int iType = 0; + std::cout << "("; + for (SingleCombInCond::const_iterator itObject = (*itComb).begin(); itObject != (*itComb).end(); itObject++) { + + // loop over types for the object in a combination. This object might have more then one type (i.e. mu-eg) + // + +// for (size_t iType =0; iType < condObjType.size(); iType++) { + + // get object type and push indices on the list + // + //const l1t::GlobalObject objTypeVal = condObjType.at(iType); + + std::cout << (*itObject); + //std::cout <getType() ) { case l1t::EtSum::EtSumType::kMissingEt: cout << " ETM: "; - break; + break; + case l1t::EtSum::EtSumType::kMissingEtHF: + cout << " ETMHF:"; + break; case l1t::EtSum::EtSumType::kMissingHt: cout << " HTM: "; break; case l1t::EtSum::EtSumType::kTotalEt: cout << " ETT: "; - break; + break; + case l1t::EtSum::EtSumType::kTotalEtEm: + cout << " ETTem:"; + break; case l1t::EtSum::EtSumType::kTotalHt: cout << " HTT: "; break; @@ -369,7 +468,9 @@ namespace l1t { break; } cout << " Et " << std::dec << std::setw(3) << etsum->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << etsum->hwPt() << ")"; - if(etsum->getType() == l1t::EtSum::EtSumType::kMissingEt || etsum->getType() == l1t::EtSum::EtSumType::kMissingHt) + if(etsum->getType() == l1t::EtSum::EtSumType::kMissingEt || + etsum->getType() == l1t::EtSum::EtSumType::kMissingHt || + etsum->getType() == l1t::EtSum::EtSumType::kMissingEtHF) cout << " Phi " << std::dec << std::setw(3) << etsum->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << etsum->hwPhi() << ")"; cout << endl; } @@ -508,16 +609,18 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, // Dump 8 tau (8 digits + space) nDumped = 0; + int maxTau = 8; + if(m_tvVersion>1) maxTau = 12; if(taus.isValid()) { for(std::vector::const_iterator tau = taus->begin(bx); tau != taus->end(bx); ++tau) { unsigned int packedWd = formatTau(tau); - if(nDumped<8) { + if(nDumped::const_iterator etsum = etsums->begin(bx); etsum != etsums->end(bx); ++etsum) { @@ -552,13 +657,19 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, switch ( etsum->getType() ) { case l1t::EtSum::EtSumType::kMissingEt: ETMpackWd = formatMissET(etsum); - break; + break; + case l1t::EtSum::EtSumType::kMissingEtHF: + ETMHFpackWd = formatMissET(etsum); + break; case l1t::EtSum::EtSumType::kMissingHt: HTMpackWd = formatMissET(etsum); break; case l1t::EtSum::EtSumType::kTotalEt: ETTpackWd = formatTotalET(etsum); - break; + break; + case l1t::EtSum::EtSumType::kTotalEtEm: + ETTempackWd = formatTotalET(etsum); + break; case l1t::EtSum::EtSumType::kTotalHt: HTTpackWd = formatTotalET(etsum); break; @@ -580,17 +691,30 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, } //end loop over etsums } - // Temporary put HMB bits in upper part of other SumEt Words + // Put HMB bits in upper part of other SumEt Words ETTpackWd |= HFP0packWd; HTTpackWd |= HFM0packWd; ETMpackWd |= HFP1packWd; HTMpackWd |= HFM1packWd; + + // ETTem goes into ETT word bits 12 - 23 + if(m_tvVersion>1) ETTpackWd |= ( ETTempackWd << 12); // Fill in the words in appropriate order myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << ETTpackWd; myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << HTTpackWd; myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << ETMpackWd; myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << HTMpackWd; + if(m_tvVersion>1) { + myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << ETMHFpackWd; + myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << empty; + } + + +// If tvVersion > 1 put in placeholds for empty link (6 words (frames)) all zeros. + if(m_tvVersion>1) { + for(int i=0; i<6; i++) myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << empty; + } // External Condition (64 digits + space) int digit = 0; diff --git a/L1Trigger/L1TGlobal/plugins/L1TGlobalAnalyzer.cc b/L1Trigger/L1TGlobal/plugins/L1TGlobalAnalyzer.cc index 2d002d17142bd..1a4535275f94d 100644 --- a/L1Trigger/L1TGlobal/plugins/L1TGlobalAnalyzer.cc +++ b/L1Trigger/L1TGlobal/plugins/L1TGlobalAnalyzer.cc @@ -149,9 +149,12 @@ class L1TGlobalAnalyzer : public edm::EDAnalyzer { TH2F* hDmxVsGTJetEta_; TH2F* hDmxVsGTJetPhi_; TH2F* hDmxVsGTSumEt_ETT_; + TH2F* hDmxVsGTSumEt_ETTem_; TH2F* hDmxVsGTSumEt_HTT_; TH2F* hDmxVsGTSumEt_ETM_; TH2F* hDmxVsGTSumPhi_ETM_; + TH2F* hDmxVsGTSumEt_ETMHF_; + TH2F* hDmxVsGTSumPhi_ETMHF_; TH2F* hDmxVsGTSumEt_HTM_; TH2F* hDmxVsGTSumPhi_HTM_; TH2F* hDmxVsGTSumEt_HFP0_; @@ -811,7 +814,11 @@ L1TGlobalAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet case l1t::EtSum::EtSumType::kTotalEt: hDmxVsGTSumEt_ETT_->Fill(gtSumEt,dmxSumEt); - break; + break; + case l1t::EtSum::EtSumType::kTotalEtEm: + hDmxVsGTSumEt_ETTem_->Fill(gtSumEt,dmxSumEt); + + break; case l1t::EtSum::EtSumType::kTotalHt: hDmxVsGTSumEt_HTT_->Fill(gtSumEt,dmxSumEt); @@ -819,7 +826,11 @@ L1TGlobalAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet case l1t::EtSum::EtSumType::kMissingEt: hDmxVsGTSumEt_ETM_->Fill(gtSumEt,dmxSumEt); hDmxVsGTSumPhi_ETM_->Fill(gtSumPhi,dmxSumPhi); - break; + break; + case l1t::EtSum::EtSumType::kMissingEtHF: + hDmxVsGTSumEt_ETMHF_->Fill(gtSumEt,dmxSumEt); + hDmxVsGTSumPhi_ETMHF_->Fill(gtSumPhi,dmxSumPhi); + break; case l1t::EtSum::EtSumType::kMissingHt: hDmxVsGTSumEt_HTM_->Fill(gtSumEt,dmxSumEt); hDmxVsGTSumPhi_HTM_->Fill(gtSumPhi,dmxSumPhi); @@ -857,7 +868,11 @@ L1TGlobalAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet case l1t::EtSum::EtSumType::kTotalEt: hDmxVsGTSumEt_ETT_->Fill(gtSumEt,dmxSumEt); - break; + break; + case l1t::EtSum::EtSumType::kTotalEtEm: + hDmxVsGTSumEt_ETTem_->Fill(gtSumEt,dmxSumEt); + + break; case l1t::EtSum::EtSumType::kTotalHt: hDmxVsGTSumEt_HTT_->Fill(gtSumEt,dmxSumEt); @@ -865,7 +880,11 @@ L1TGlobalAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet case l1t::EtSum::EtSumType::kMissingEt: hDmxVsGTSumEt_ETM_->Fill(gtSumEt,dmxSumEt); hDmxVsGTSumPhi_ETM_->Fill(gtSumPhi,dmxSumPhi); - break; + break; + case l1t::EtSum::EtSumType::kMissingEtHF: + hDmxVsGTSumEt_ETMHF_->Fill(gtSumEt,dmxSumEt); + hDmxVsGTSumPhi_ETMHF_->Fill(gtSumPhi,dmxSumPhi); + break; case l1t::EtSum::EtSumType::kMissingHt: hDmxVsGTSumEt_HTM_->Fill(gtSumEt,dmxSumEt); hDmxVsGTSumPhi_HTM_->Fill(gtSumPhi,dmxSumPhi); @@ -1025,9 +1044,12 @@ L1TGlobalAnalyzer::beginJob() hDmxVsGTJetPhi_ = dmxVGtDir_.make("hDmxVsGTJetPhi","Dmx Jet Phi versus GT Jet Phi",144,-0.5,143.5,144,-0.5,143.5); hDmxVsGTSumEt_ETT_ = dmxVGtDir_.make("hDmxVsGTSumEt_ETT","Dmx ETT versus GT ETT",256,-0.5,2047.5,256,-0.5,2047.5); + hDmxVsGTSumEt_ETTem_= dmxVGtDir_.make("hDmxVsGTSumEt_ETTem","Dmx ETTem versus GT ETTem",256,-0.5,2047.5,256,-0.5,2047.5); hDmxVsGTSumEt_HTT_ = dmxVGtDir_.make("hDmxVsGTSumEt_HTT","Dmx HTT versus GT HTT",256,-0.5,2047.5,256,-0.5,2047.5); hDmxVsGTSumEt_ETM_ = dmxVGtDir_.make("hDmxVsGTSumEt_ETM","Dmx ETM versus GT ETM",500,-0.5,499.5,500,-0.5,499.5); hDmxVsGTSumPhi_ETM_ = dmxVGtDir_.make("hDmxVsGTSumPhi_ETM","Dmx ETM Phi versus GT ETM Phi",144,-0.5,143.5,144,-0.5,143.5); + hDmxVsGTSumEt_ETMHF_ = dmxVGtDir_.make("hDmxVsGTSumEt_ETMHF","Dmx ETMHF versus GT ETMHF",500,-0.5,499.5,500,-0.5,499.5); + hDmxVsGTSumPhi_ETMHF_ = dmxVGtDir_.make("hDmxVsGTSumPhi_ETMHF","Dmx ETMHF Phi versus GT ETMHF Phi",144,-0.5,143.5,144,-0.5,143.5); hDmxVsGTSumEt_HTM_ = dmxVGtDir_.make("hDmxVsGTSumEt_HTM","Dmx HTM versus GT HTM",500,-0.5,499.5,500,-0.5,499.5); hDmxVsGTSumPhi_HTM_ = dmxVGtDir_.make("hDmxVsGTSumPhi_HTM","Dmx HTM Phi versus GT HTM Phi",144,-0.5,143.5,144,-0.5,143.5); diff --git a/L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc b/L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc index 9064cd8be58cf..1b3416d365d3b 100644 --- a/L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc +++ b/L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc @@ -315,14 +315,15 @@ void l1t::TriggerMenuParser::parseCondFormats(const L1TUtmTriggerMenu* utmMenu) condition.getType() == esConditionType::TripleJet || condition.getType() == esConditionType::QuadJet ) { - parseCalo(condition,chipNr,false); //blw + parseCalo(condition,chipNr,false); // parse Energy Sums } else if(condition.getType() == esConditionType::TotalEt || + condition.getType() == esConditionType::TotalEtEM || condition.getType() == esConditionType::TotalHt || condition.getType() == esConditionType::MissingEt || condition.getType() == esConditionType::MissingHt || - //condition.getType() == esConditionType::MissingEt2 || + condition.getType() == esConditionType::MissingEtHF || condition.getType() == esConditionType::MinBiasHFP0 || condition.getType() == esConditionType::MinBiasHFM0 || condition.getType() == esConditionType::MinBiasHFP1 || @@ -585,7 +586,9 @@ bool l1t::TriggerMenuParser::parseScales(std::mapetaMin = -1.; scaleParam->etaMax = -1.; scaleParam->etaStep = -1.; - if(scale.getObjectType() == esObjectType::ETT || scale.getObjectType() == esObjectType::HTT) { + if(scale.getObjectType() == esObjectType::ETT || scale.getObjectType() == esObjectType::HTT || scale.getObjectType() == esObjectType::ETTEM) { +// if(scale.getObjectType() == esObjectType::ETT || scale.getObjectType() == esObjectType::HTT) { scaleParam->phiMin = -1.; scaleParam->phiMax = -1.; scaleParam->phiStep = -1.; @@ -681,7 +688,9 @@ bool l1t::TriggerMenuParser::parseScales(std::mapsecond; const esScale* scale2 = &scaleMap.find(scLabel2)->second; @@ -809,9 +827,14 @@ void l1t::TriggerMenuParser::parseCalMuPhi_LUTS(std::mapsecond; const esScale* scale2 = &scaleMap.find(scLabel2)->second; + std::vector lut_cal_2_mu_phi; getCaloMuonPhiConversionLut(lut_cal_2_mu_phi, scale1, scale2); @@ -831,6 +854,10 @@ void l1t::TriggerMenuParser::parsePt_LUTS(std::mapsecond; std::vector lut_pt; @@ -850,6 +877,10 @@ void l1t::TriggerMenuParser::parseDeltaEta_Cosh_LUTS(std::mapsecond; const esScale* scale2 = &scaleMap.find(scLabel2)->second; std::vector val_delta_eta; @@ -879,6 +910,10 @@ void l1t::TriggerMenuParser::parseDeltaPhi_Cos_LUTS(std::mapsecond; const esScale* scale2 = &scaleMap.find(scLabel2)->second; std::vector val_delta_phi; @@ -2014,6 +2049,10 @@ bool l1t::TriggerMenuParser::parseEnergySum(tmeventsetup::esCondition condEnergy energySumObjType = GlobalObject::gtETT; cType = TypeETT; } + else if( condEnergySum.getType() == esConditionType::TotalEtEM ){ + energySumObjType = GlobalObject::gtETTem; + cType = TypeETTem; + } else if( condEnergySum.getType() == esConditionType::TotalHt ){ energySumObjType = GlobalObject::gtHTT; cType = TypeHTT; @@ -2022,10 +2061,10 @@ bool l1t::TriggerMenuParser::parseEnergySum(tmeventsetup::esCondition condEnergy energySumObjType = GlobalObject::gtHTM; cType = TypeHTM; } -/* else if( condEnergySum.getType() == esConditionType::MissingEt2 ){ - energySumObjType = GlobalObject::gtETM2; - cType = TypeETM2; - } */ + else if( condEnergySum.getType() == esConditionType::MissingEtHF ){ + energySumObjType = GlobalObject::gtETMHF; + cType = TypeETMHF; + } else if( condEnergySum.getType() == esConditionType::MinBiasHFP0 ){ energySumObjType = GlobalObject::gtMinBiasHFP0; cType = TypeMinBiasHFP0; @@ -2251,10 +2290,10 @@ bool l1t::TriggerMenuParser::parseEnergySumCorr(const tmeventsetup::esObject* co energySumObjType = GlobalObject::gtHTM; cType = TypeHTM; } -/* else if( corrESum->getType()== esObjectType::ETM2 ){ - energySumObjType = GlobalObject::gtETM2; - cType = TypeETM2; - } */ + else if( corrESum->getType()== esObjectType::ETMHF ){ + energySumObjType = GlobalObject::gtETMHF; + cType = TypeETMHF; + } else { edm::LogError("TriggerMenuParser") << "Wrong type for energy-sum correclation condition (" << type @@ -2442,6 +2481,8 @@ bool l1t::TriggerMenuParser::parseExternal(tmeventsetup::esCondition condExt, // object type and condition type // object type - irrelevant for External conditions GtConditionType cType = TypeExternal; + GlobalObject extSignalType = GlobalObject::gtExternal; + int nrObj = 1; //only one object for these conditions int relativeBx = 0; unsigned int channelID = 0; @@ -2461,10 +2502,14 @@ bool l1t::TriggerMenuParser::parseExternal(tmeventsetup::esCondition condExt, // set the boolean value for the ge_eq mode - irrelevant for External conditions bool gEq = false; + //object types - all same for external conditions + std::vector objType(nrObj, extSignalType); + // now create a new External condition ExternalTemplate externalCond(name); externalCond.setCondType(cType); + externalCond.setObjectType(objType); externalCond.setCondGEq(gEq); externalCond.setCondChipNr(chipNr); externalCond.setCondRelativeBx(relativeBx); @@ -2704,8 +2749,8 @@ bool l1t::TriggerMenuParser::parseCorrelation( - } else if(object.getType() == esObjectType::ETM || - // object.getType() == esObjectType::ETM2 || + } else if(object.getType() == esObjectType::ETM || + object.getType() == esObjectType::ETMHF || object.getType() == esObjectType::HTM ) { // we have Energy Sum @@ -2723,10 +2768,10 @@ bool l1t::TriggerMenuParser::parseCorrelation( objType[jj] = GlobalObject::gtHTM; } break; -/* case esObjectType::ETM2: { - objType[jj] = GlobalObject::gtETM2; + case esObjectType::ETMHF: { + objType[jj] = GlobalObject::gtETMHF; } - break; */ + break; default: { } break; @@ -2737,7 +2782,7 @@ bool l1t::TriggerMenuParser::parseCorrelation( } else { edm::LogError("TriggerMenuParser") - << "Illegal Object Type " + << "Illegal Object Type " << object.getType() << " for the correlation condition " << name << std::endl; return false; diff --git a/L1Trigger/L1TGlobal/src/CorrCondition.cc b/L1Trigger/L1TGlobal/src/CorrCondition.cc index ed09391243d89..8107e44741ce3 100644 --- a/L1Trigger/L1TGlobal/src/CorrCondition.cc +++ b/L1Trigger/L1TGlobal/src/CorrCondition.cc @@ -419,7 +419,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getMUScales().etBins.size(); if (etIndex0 >= ssize){ etIndex0 = ssize-1; - LogDebug("L1TGlobal") + edm::LogWarning("L1TGlobal") << "muon0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; } @@ -452,7 +452,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getEGScales().etBins.size(); if (etIndex0 >= ssize){ etIndex0 = ssize-1; - LogDebug("L1TGlobal") + edm::LogWarning("L1TGlobal") << "EG0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; } @@ -477,8 +477,8 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getJETScales().etBins.size(); if (etIndex0 >= ssize){ - LogDebug("L1TGlobal") - << "jet0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; + //edm::LogWarning("L1TGlobal") + //<< "jet0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; etIndex0 = ssize-1; } @@ -502,9 +502,9 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getTAUScales().etBins.size(); if (etIndex0 >= ssize){ - LogDebug("L1TGlobal") - << "tau0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; etIndex0 = ssize-1; + edm::LogWarning("L1TGlobal") + << "tau0 hw et" << etIndex0 << " out of scale range. Setting to maximum."; } @@ -556,6 +556,10 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalEt; lutObj0 = "ETT"; break; + case gtETTem: + type = l1t::EtSum::EtSumType::kTotalEtEm; + lutObj0 = "ETTem"; //should this be just ETT (share LUTs?) Can't be used for CorrCond anyway since now directional information + break; case gtHTM: type = l1t::EtSum::EtSumType::kMissingHt; lutObj0 = "HTM"; @@ -564,16 +568,16 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalHt; lutObj0 = "HTT"; break; - case gtETM2: - type = l1t::EtSum::EtSumType::kMissingEtHF;//type = l1t::EtSum::EtSumType::kMissingEtHF; - lutObj0 = "ETM2"; + case gtETMHF: + type = l1t::EtSum::EtSumType::kMissingEtHF; + lutObj0 = "ETMHF"; break; case gtMinBiasHFP0: case gtMinBiasHFM0: case gtMinBiasHFP1: case gtMinBiasHFM1: type = l1t::EtSum::EtSumType::kMinBiasHFP0; - lutObj0 = "MinBias"; + lutObj0 = "MinBias"; //??Fix?? Not a valid LUT type Can't be used for CorrCond anyway since now directional information break; default: edm::LogError("L1TGlobal") @@ -621,16 +625,16 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { binEdges = m_gtScales->getHTMScales().etBins.at(etIndex0); et0Phy = 0.5*(binEdges.second + binEdges.first); - } else if (cndObjTypeVec[0] == gtETM2) { - std::pair binEdges = m_gtScales->getETMScales().phiBins.at(phiIndex0); + } else if (cndObjTypeVec[0] == gtETMHF) { + std::pair binEdges = m_gtScales->getETMHFScales().phiBins.at(phiIndex0); phi0Phy = 0.5*(binEdges.second + binEdges.first); eta0Phy = 0.; //No Eta for Energy Sums - int ssize = m_gtScales->getETMScales().etBins.size(); + int ssize = m_gtScales->getETMHFScales().etBins.size(); assert(ssize > 0); if (etIndex0 >= ssize){ etIndex0 = ssize-1; } - binEdges = m_gtScales->getETMScales().etBins.at(etIndex0); + binEdges = m_gtScales->getETMHFScales().etBins.at(etIndex0); et0Phy = 0.5*(binEdges.second + binEdges.first); } @@ -702,7 +706,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getMUScales().etBins.size(); if (etIndex1 >= ssize){ - LogDebug("L1TGlobal") + edm::LogWarning("L1TGlobal") << "muon2 hw et" << etIndex1 << " out of scale range. Setting to maximum."; etIndex1 = ssize-1; } @@ -729,7 +733,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getEGScales().etBins.size(); if (etIndex1 >= ssize){ - LogDebug("L1TGlobal") + edm::LogWarning("L1TGlobal") << "EG1 hw et" << etIndex1 << " out of scale range. Setting to maximum."; etIndex1 = ssize-1; } @@ -755,8 +759,8 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getJETScales().etBins.size(); assert(ssize); if (etIndex1 >= ssize){ - LogDebug("L1TGlobal") - << "jet2 hw et" << etIndex1 << " out of scale range. Setting to maximum."; + //edm::LogWarning("L1TGlobal") + //<< "jet2 hw et" << etIndex1 << " out of scale range. Setting to maximum."; etIndex1 = ssize-1; } @@ -765,6 +769,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { phi1Phy = 0.5*(binEdges.second + binEdges.first); binEdges = m_gtScales->getJETScales().etaBins.at(etaBin1); eta1Phy = 0.5*(binEdges.second + binEdges.first); + //CRASHES HERE: binEdges = m_gtScales->getJETScales().etBins.at(etIndex1); et1Phy = 0.5*(binEdges.second + binEdges.first); lutObj1 = "JET"; @@ -780,7 +785,7 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { int ssize = m_gtScales->getTAUScales().etBins.size(); if (etIndex1 >= ssize){ - LogDebug("L1TGlobal") + edm::LogWarning("L1TGlobal") << "tau2 hw et" << etIndex1 << " out of scale range. Setting to maximum."; etIndex1 = ssize-1; } @@ -836,6 +841,10 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalEt; lutObj1 = "ETT"; break; + case gtETTem: + type = l1t::EtSum::EtSumType::kTotalEtEm; + lutObj1 = "ETTem"; + break; case gtHTM: type = l1t::EtSum::EtSumType::kMissingHt; lutObj1 = "HTM"; @@ -844,9 +853,9 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalHt; lutObj1 = "HTT"; break; - case gtETM2: + case gtETMHF: type = l1t::EtSum::EtSumType::kMissingEtHF; - lutObj1 = "ETM2"; + lutObj1 = "ETMHF"; break; case gtMinBiasHFP0: case gtMinBiasHFM0: @@ -899,16 +908,16 @@ const bool l1t::CorrCondition::evaluateCondition(const int bxEval) const { binEdges = m_gtScales->getHTMScales().etBins.at(etIndex1); et1Phy = 0.5*(binEdges.second + binEdges.first); - } else if(cndObjTypeVec[1] == gtETM2) { - std::pair binEdges = m_gtScales->getETMScales().phiBins.at(phiIndex1); + } else if(cndObjTypeVec[1] == gtETMHF) { + std::pair binEdges = m_gtScales->getETMHFScales().phiBins.at(phiIndex1); phi1Phy = 0.5*(binEdges.second + binEdges.first); eta1Phy = 0.; //No Eta for Energy Sums - int ssize = m_gtScales->getETMScales().etBins.size(); + int ssize = m_gtScales->getETMHFScales().etBins.size(); assert(ssize > 0); if (etIndex1 >= ssize){ etIndex1 = ssize-1; } - binEdges = m_gtScales->getETMScales().etBins.at(etIndex1); + binEdges = m_gtScales->getETMHFScales().etBins.at(etIndex1); et1Phy = 0.5*(binEdges.second + binEdges.first); } diff --git a/L1Trigger/L1TGlobal/src/EnergySumCondition.cc b/L1Trigger/L1TGlobal/src/EnergySumCondition.cc index e75e7279ef226..0fdf107f3de85 100644 --- a/L1Trigger/L1TGlobal/src/EnergySumCondition.cc +++ b/L1Trigger/L1TGlobal/src/EnergySumCondition.cc @@ -129,17 +129,18 @@ const bool l1t::EnergySumCondition::evaluateCondition(const int bxEval) const { // Look at objects in bx = bx + relativeBx int useBx = bxEval + m_gtEnergySumTemplate->condRelativeBx(); - - int numberObjects = candVec->size(useBx); - if (numberObjects < 1) { - return false; - } - + // Fail condition if attempting to get Bx outside of range if( ( useBx < candVec->getFirstBX() ) || ( useBx > candVec->getLastBX() ) ) { return false; } + + // If no candidates, no use looking any further. + int numberObjects = candVec->size(useBx); + if (numberObjects < 1) { + return false; + } l1t::EtSum::EtSumType type; @@ -153,6 +154,10 @@ const bool l1t::EnergySumCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalEt; MissingEnergy = false; break; + case gtETTem: + type = l1t::EtSum::EtSumType::kTotalEtEm; + MissingEnergy = false; + break; case gtHTM: type = l1t::EtSum::EtSumType::kMissingHt; MissingEnergy = true; @@ -161,24 +166,24 @@ const bool l1t::EnergySumCondition::evaluateCondition(const int bxEval) const { type = l1t::EtSum::EtSumType::kTotalHt; MissingEnergy = false; break; - case gtETM2: - type = l1t::EtSum::EtSumType::kMissingEt;//type = l1t::EtSum::EtSumType::kMissingEtHF; + case gtETMHF: + type = l1t::EtSum::EtSumType::kMissingEtHF; MissingEnergy = true; break; case gtMinBiasHFP0: - type = l1t::EtSum::EtSumType::kMinBiasHFP0; //l1t::EtSum::EtSumType::kTotalEt;//type = l1t::EtSum::EtSumType::kMinBiasHFP0; + type = l1t::EtSum::EtSumType::kMinBiasHFP0; MissingEnergy = false; break; case gtMinBiasHFM0: - type = l1t::EtSum::EtSumType::kMinBiasHFM0; //l1t::EtSum::EtSumType::kTotalEt;//type = l1t::EtSum::EtSumType::kMinBiasHFM0; + type = l1t::EtSum::EtSumType::kMinBiasHFM0; MissingEnergy = false; break; case gtMinBiasHFP1: - type = l1t::EtSum::EtSumType::kMinBiasHFP1; //l1t::EtSum::EtSumType::kTotalEt;//type = l1t::EtSum::EtSumType::kMinBiasHFP1; + type = l1t::EtSum::EtSumType::kMinBiasHFP1; MissingEnergy = false; break; case gtMinBiasHFM1: - type = l1t::EtSum::EtSumType::kMinBiasHFM1; //l1t::EtSum::EtSumType::kTotalEt;//type = l1t::EtSum::EtSumType::kMinBiasHFM1; + type = l1t::EtSum::EtSumType::kMinBiasHFM1; MissingEnergy = false; break; default: diff --git a/L1Trigger/L1TGlobal/src/EnergySumTemplate.cc b/L1Trigger/L1TGlobal/src/EnergySumTemplate.cc index accd11b787fc4..a0cc2bf98cf0b 100644 --- a/L1Trigger/L1TGlobal/src/EnergySumTemplate.cc +++ b/L1Trigger/L1TGlobal/src/EnergySumTemplate.cc @@ -119,7 +119,7 @@ void EnergySumTemplate::print(std::ostream& myCout) const myCout << " phi = " << std::hex << m_objectParameter[i].phiRange0Word << std::endl; - } else if (m_condType == l1t::TypeETM2) { + } else if (m_condType == l1t::TypeETMHF) { myCout << " phi = " << std::hex << m_objectParameter[i].phiRange0Word << std::endl; diff --git a/L1Trigger/L1TGlobal/src/GlobalCondition.cc b/L1Trigger/L1TGlobal/src/GlobalCondition.cc index c1713b946845e..1736c3843e1bd 100644 --- a/L1Trigger/L1TGlobal/src/GlobalCondition.cc +++ b/L1Trigger/L1TGlobal/src/GlobalCondition.cc @@ -7,7 +7,7 @@ * Implementation: * * - * \author: Vasile Mihai Ghete - HEPHY Vienna + * \author: Brian Winer, OSU Vasile Mihai Ghete - HEPHY Vienna * * $Date$ * $Revision$ @@ -109,7 +109,7 @@ const int GlobalCondition::nrObjects() const case l1t::TypeETM: case l1t::TypeHTT: case l1t::TypeHTM: - case l1t::TypeETM2: + case l1t::TypeETMHF: case l1t::TypeMinBiasHFP0: case l1t::TypeMinBiasHFM0: case l1t::TypeMinBiasHFP1: @@ -257,8 +257,8 @@ void GlobalCondition::print(std::ostream& myCout) const myCout << " Condition type: " << "TypeHTM" << std::endl; } - case l1t::TypeETM2: { - myCout << " Condition type: " << "TypeETM2" << std::endl; + case l1t::TypeETMHF: { + myCout << " Condition type: " << "TypeETMHF" << std::endl; } case l1t::TypeMinBiasHFP0: { @@ -280,6 +280,11 @@ void GlobalCondition::print(std::ostream& myCout) const myCout << " Condition type: " << "TypeMinBiasHFM1" << std::endl; } + break; + case l1t::TypeETTem: { + myCout << " Condition type: " << "TypeETTem" << std::endl; + } + break; case l1t::TypeExternal: { myCout << " Condition type: " << "TypeExternal" << std::endl; @@ -343,8 +348,8 @@ void GlobalCondition::print(std::ostream& myCout) const break; - case l1t::gtETM2: { - myCout << " ETM2 "; + case l1t::gtETMHF: { + myCout << " ETMHF "; } break; @@ -368,6 +373,11 @@ void GlobalCondition::print(std::ostream& myCout) const } break; + case l1t::gtETTem: { + myCout << " ETTem "; + } + + break; case l1t::gtExternal: { myCout << " External "; } diff --git a/L1Trigger/L1TGlobal/src/GlobalDefinitions.cc b/L1Trigger/L1TGlobal/src/GlobalDefinitions.cc index d81b577e61f33..4b452521d646c 100644 --- a/L1Trigger/L1TGlobal/src/GlobalDefinitions.cc +++ b/L1Trigger/L1TGlobal/src/GlobalDefinitions.cc @@ -64,7 +64,7 @@ constexpr entry l1GtConditionTypeStringToEnumMap[] = { {"l1t::TypeETT", l1t::TypeETT}, {"l1t::TypeHTT", l1t::TypeHTT}, {"l1t::TypeHTM", l1t::TypeHTM}, - {"l1t::TypeETM2", l1t::TypeETM2}, + {"l1t::TypeETMHF", l1t::TypeETMHF}, {"l1t::TypeMinBiasHFP0", l1t::TypeMinBiasHFP0}, {"l1t::TypeMinBiasHFM0", l1t::TypeMinBiasHFM0}, {"l1t::TypeMinBiasHFP1", l1t::TypeMinBiasHFP1}, diff --git a/L1Trigger/L1TGlobal/test/runGlobalFakeInputProducer.py b/L1Trigger/L1TGlobal/test/runGlobalFakeInputProducer.py index a4f2f973e8621..931992f0688b1 100644 --- a/L1Trigger/L1TGlobal/test/runGlobalFakeInputProducer.py +++ b/L1Trigger/L1TGlobal/test/runGlobalFakeInputProducer.py @@ -189,7 +189,8 @@ process.load('L1Trigger.L1TGlobal.GlobalParameters_cff') process.load("L1Trigger.L1TGlobal.TriggerMenu_cff") -process.TriggerMenu.L1TriggerMenuFile = cms.string('L1Menu_Collisions2016_v1a.xml') +process.TriggerMenu.L1TriggerMenuFile = cms.string('L1Menu_Collisions2016_v2c.xml') +#process.TriggerMenu.L1TriggerMenuFile = cms.string('L1Menu_test_ettem_etmhf.xml') #process.menuDumper = cms.EDAnalyzer("L1TUtmTriggerMenuDumper") ## Fill External conditions @@ -212,7 +213,7 @@ process.simGtStage2Digis.TauInputTag = cms.InputTag("gtInput") process.simGtStage2Digis.JetInputTag = cms.InputTag("gtInput") process.simGtStage2Digis.EtSumInputTag = cms.InputTag("gtInput") -process.simGtStage2Digis.EmulateBxInEvent = cms.int32(5) +process.simGtStage2Digis.EmulateBxInEvent = cms.int32(1) #process.simGtStage2Digis.Verbosity = cms.untracked.int32(1) @@ -224,15 +225,18 @@ etsumInputTag = cms.InputTag("gtInput"), uGtAlgInputTag = cms.InputTag("simGtStage2Digis"), uGtExtInputTag = cms.InputTag("simGtExtFakeProd"), + uGtObjectMapInputTag = cms.InputTag("simGtStage2Digis"), bxOffset = cms.int32(skip), minBx = cms.int32(-2), maxBx = cms.int32(2), minBxVec = cms.int32(0), maxBxVec = cms.int32(0), dumpGTRecord = cms.bool(True), + dumpGTObjectMap= cms.bool(True), dumpTrigResults= cms.bool(True), dumpVectors = cms.bool(True), tvFileName = cms.string( ("TestVector_%03d.txt") % job ), + tvVersion = cms.int32(2), psFileName = cms.string( "prescale_L1TGlobal.csv" ), psColumn = cms.int32(1) ) @@ -281,12 +285,14 @@ etsumInputTag = cms.InputTag("newGtStage2Digis","EtSum"), uGtAlgInputTag = cms.InputTag("newGtStage2Digis"), uGtExtInputTag = cms.InputTag("newGtStage2Digis"), + uGtObjectMapInputTag = cms.InputTag("simGtStage2Digis"), bxOffset = cms.int32(skip), - minBx = cms.int32(-2), - maxBx = cms.int32(2), + minBx = cms.int32(0), + maxBx = cms.int32(0), minBxVec = cms.int32(0), maxBxVec = cms.int32(0), dumpGTRecord = cms.bool(True), + dumpGTObjectMap= cms.bool(True), dumpTrigResults= cms.bool(False), dumpVectors = cms.bool(False), tvFileName = cms.string( ("TestVector_%03d.txt") % job ),