From f8f9bddde7be52025c31c3a0c353795d14ae3dc2 Mon Sep 17 00:00:00 2001 From: Thomas Schuh Date: Thu, 4 Nov 2021 16:22:42 +0000 Subject: [PATCH] ProducerIRin and ProducerTBout added, Demonstrator configured by default to use them. --- .../python/ProducerKF_cff.py | 2 + .../TrackFindingTracklet/test/ProducerIRin.cc | 105 +++++++ .../test/ProducerTBout.cc | 295 ++++++++++++++++++ .../test/demonstrator_cfg.py | 43 +-- .../TrackerTFP/python/Demonstrator_cfi.py | 8 +- .../TrackerTFP/test/AnalyzerDemonstrator.cc | 3 +- 6 files changed, 430 insertions(+), 26 deletions(-) create mode 100644 L1Trigger/TrackFindingTracklet/test/ProducerIRin.cc create mode 100644 L1Trigger/TrackFindingTracklet/test/ProducerTBout.cc diff --git a/L1Trigger/TrackFindingTracklet/python/ProducerKF_cff.py b/L1Trigger/TrackFindingTracklet/python/ProducerKF_cff.py index 8516424f77f05..ac49ac22d4b34 100644 --- a/L1Trigger/TrackFindingTracklet/python/ProducerKF_cff.py +++ b/L1Trigger/TrackFindingTracklet/python/ProducerKF_cff.py @@ -8,6 +8,8 @@ from L1Trigger.TrackFindingTracklet.ProducerTrackBuilderChannel_cff import TrackBuilderChannel from L1Trigger.TrackFindingTracklet.ProducerKF_cfi import TrackFindingTrackletProducerKF_params +TrackFindingTrackletProducerIRin = cms.EDProducer( 'trackFindingTracklet::ProducerIRin', TrackFindingTrackletProducerKF_params ) +TrackFindingTrackletProducerTBout = cms.EDProducer( 'trackFindingTracklet::ProducerTBout', TrackFindingTrackletProducerKF_params ) TrackFindingTrackletProducerKFin = cms.EDProducer( 'trackFindingTracklet::ProducerKFin', TrackFindingTrackletProducerKF_params ) TrackFindingTrackletProducerKF = cms.EDProducer( 'trackerTFP::ProducerKF', TrackFindingTrackletProducerKF_params ) TrackFindingTrackletProducerTT = cms.EDProducer( 'trackFindingTracklet::ProducerTT', TrackFindingTrackletProducerKF_params ) diff --git a/L1Trigger/TrackFindingTracklet/test/ProducerIRin.cc b/L1Trigger/TrackFindingTracklet/test/ProducerIRin.cc new file mode 100644 index 0000000000000..434e4dc9603fd --- /dev/null +++ b/L1Trigger/TrackFindingTracklet/test/ProducerIRin.cc @@ -0,0 +1,105 @@ +#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/Run.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/Utilities/interface/EDGetToken.h" +#include "FWCore/Utilities/interface/EDPutToken.h" +#include "FWCore/Utilities/interface/ESGetToken.h" +#include "FWCore/Utilities/interface/InputTag.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DataFormats/Common/interface/Handle.h" + +#include "L1Trigger/TrackTrigger/interface/Setup.h" + +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace edm; +using namespace tt; + +namespace trackFindingTracklet { + + /*! \class trackFindingTracklet::ProducerIRin + * \brief Transforms TTTDCinto f/w comparable format for summer chain configuratiotn + * \author Thomas Schuh + * \date 2021, Oct + */ + class ProducerIRin : public stream::EDProducer<> { + public: + explicit ProducerIRin(const ParameterSet&); + ~ProducerIRin() override {} + + private: + virtual void beginRun(const Run&, const EventSetup&) override; + virtual void produce(Event&, const EventSetup&) override; + virtual void endJob() {} + // ED input token of DTC Stubs + EDGetTokenT edGetTokenTTDTC_; + // ED output token for stubs + EDPutTokenT edPutTokenStubs_; + // Setup token + ESGetToken esGetTokenSetup_; + // configuration + ParameterSet iConfig_; + // helper class to store configurations + const Setup* setup_; + // reduce l1 tracking to summer chain configuration + bool summerChain_; + // map of used tfp channels in summer chain config + vector channelEncoding_; + }; + + ProducerIRin::ProducerIRin(const ParameterSet& iConfig) : + iConfig_(iConfig) + { + const InputTag& inputTag = iConfig.getParameter("InputTagDTC"); + const string& branchStubs = iConfig.getParameter("BranchAcceptedStubs"); + // book in- and output ED products + edGetTokenTTDTC_ = consumes(inputTag); + edPutTokenStubs_ = produces(branchStubs); + // book ES products + esGetTokenSetup_ = esConsumes(); + // initial ES products + setup_ = nullptr; + } + + void ProducerIRin::beginRun(const Run& iRun, const EventSetup& iSetup) { + // helper class to store configurations + setup_ = &iSetup.getData(esGetTokenSetup_); + if (!setup_->configurationSupported()) + return; + // check process history if desired + if (iConfig_.getParameter("CheckHistory")) + setup_->checkHistory(iRun.processHistory()); + // reduce l1 tracking to summer chain configuration + summerChain_ = iConfig_.getParameter("SummerChain"); + // map of used tfp channels in summer chain config + channelEncoding_ = iConfig_.getParameter>("SummerChainChannels"); + } + + void ProducerIRin::produce(Event& iEvent, const EventSetup& iSetup) { + // empty IRin product + StreamsStub streamStubs; + // read in hybrid track finding product and produce KFin product + if (setup_->configurationSupported()) { + Handle handleTTDTC; + iEvent.getByToken(edGetTokenTTDTC_, handleTTDTC); + const int numChannel = summerChain_ ? channelEncoding_.size() : handleTTDTC->tfpRegions().size() * handleTTDTC->tfpChannels().size(); + streamStubs.reserve(numChannel); + for (int tfpRegion : handleTTDTC->tfpRegions()) + for (int tfpChannel : summerChain_ ? channelEncoding_ : handleTTDTC->tfpChannels()) + streamStubs.emplace_back(handleTTDTC->stream(tfpRegion, tfpChannel)); + } + // store products + iEvent.emplace(edPutTokenStubs_, move(streamStubs)); + } + +} // namespace trackFindingTracklet + +DEFINE_FWK_MODULE(trackFindingTracklet::ProducerIRin); \ No newline at end of file diff --git a/L1Trigger/TrackFindingTracklet/test/ProducerTBout.cc b/L1Trigger/TrackFindingTracklet/test/ProducerTBout.cc new file mode 100644 index 0000000000000..7da9531ac8671 --- /dev/null +++ b/L1Trigger/TrackFindingTracklet/test/ProducerTBout.cc @@ -0,0 +1,295 @@ +#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/Run.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/Utilities/interface/EDGetToken.h" +#include "FWCore/Utilities/interface/EDPutToken.h" +#include "FWCore/Utilities/interface/ESGetToken.h" +#include "FWCore/Utilities/interface/InputTag.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DataFormats/Common/interface/Handle.h" + +#include "L1Trigger/TrackTrigger/interface/Setup.h" +#include "L1Trigger/TrackerTFP/interface/DataFormats.h" +#include "L1Trigger/TrackFindingTracklet/interface/TrackBuilderChannel.h" +#include "L1Trigger/TrackFindingTracklet/interface/Settings.h" + +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace edm; +using namespace trackerTFP; +using namespace tt; + +namespace trackFindingTracklet { + + /*! \class trackFindingTracklet::ProducerTBout + * \brief Transforms TTTracks from Tracklet pattern reco. into f/w comparable format + * \author Thomas Schuh + * \date 2021, Oct + */ + class ProducerTBout : public stream::EDProducer<> { + public: + explicit ProducerTBout(const ParameterSet&); + ~ProducerTBout() override {} + + private: + virtual void beginRun(const Run&, const EventSetup&) override; + virtual void produce(Event&, const EventSetup&) override; + virtual void endJob() {} + + // dtc stub + struct Stub { + Stub(const FrameStub& frame, int region, int channel, const Setup* setup) { + region_ = region; + ttStubRef_ = frame.first; + frame_ = frame.second; + gp_ = setup->stubPos(true, frame, region, channel); + barrel_ = setup->barrel(ttStubRef_); + const bool ps = setup->psModule(ttStubRef_); + const TTBV ttBV(frame.second); + r_ = TTBV(ttBV, 39, 39 - (barrel_ || ps ? 7 : 12), true); + if (!barrel_ && !ps) + r_.resize(12); + } + int region_; + TTStubRef ttStubRef_; + Frame frame_; + GlobalPoint gp_; + bool barrel_; + TTBV r_; + }; + // return h/w bits for given ttTrackRef + Frame conv(const TTTrackRef& ttTrackRef) const; + // return h/w bits for given dtc stub and origin ttTrackRef + Frame conv(const TTTrackRef& ttTrackRef, const Stub& stub) const; + + // ED input token of TTTracks + EDGetTokenT edGetTokenTTTracks_; + // ED input token of DTC Stubs + EDGetTokenT edGetTokenTTDTC_; + // ED output token for stubs + EDPutTokenT edPutTokenAcceptedStubs_; + EDPutTokenT edPutTokenLostStubs_; + // ED output token for tracks + EDPutTokenT edPutTokenAcceptedTracks_; + EDPutTokenT edPutTokenLostTracks_; + // Setup token + ESGetToken esGetTokenSetup_; + // DataFormats token + ESGetToken esGetTokenDataFormats_; + // TrackBuilderChannel token + ESGetToken esGetTokenTrackBuilderChannel_; + // configuration + ParameterSet iConfig_; + // helper class to store configurations + const Setup* setup_; + // helper class to extract structured data from TTDTC::Frames + const DataFormats* dataFormats_; + // helper class to assign tracks to channel + TrackBuilderChannel* trackBuilderChannel_; + // + bool enableTruncation_; + // + trklet::Settings settings_; + }; + + ProducerTBout::ProducerTBout(const ParameterSet& iConfig) : + iConfig_(iConfig) + { + const InputTag& inputTag = iConfig.getParameter("InputTag"); + const InputTag& inputTagDTC = iConfig.getParameter("InputTagDTC"); + const string& branchAcceptedStubs = iConfig.getParameter("BranchAcceptedStubs"); + const string& branchAcceptedTracks = iConfig.getParameter("BranchAcceptedTracks"); + const string& branchLostStubs = iConfig.getParameter("BranchLostStubs"); + const string& branchLostTracks = iConfig.getParameter("BranchLostTracks"); + // book in- and output ED products + edGetTokenTTTracks_ = consumes(inputTag); + edGetTokenTTDTC_ = consumes(inputTagDTC); + edPutTokenAcceptedStubs_ = produces(branchAcceptedStubs); + edPutTokenAcceptedTracks_ = produces(branchAcceptedTracks); + edPutTokenLostStubs_ = produces(branchLostStubs); + edPutTokenLostTracks_ = produces(branchLostTracks); + // book ES products + esGetTokenSetup_ = esConsumes(); + esGetTokenDataFormats_ = esConsumes(); + esGetTokenTrackBuilderChannel_ = esConsumes(); + // initial ES products + setup_ = nullptr; + dataFormats_ = nullptr; + trackBuilderChannel_ = nullptr; + // + enableTruncation_ = iConfig.getParameter("EnableTruncation"); + } + + void ProducerTBout::beginRun(const Run& iRun, const EventSetup& iSetup) { + // helper class to store configurations + setup_ = &iSetup.getData(esGetTokenSetup_); + if (!setup_->configurationSupported()) + return; + // check process history if desired + if (iConfig_.getParameter("CheckHistory")) + setup_->checkHistory(iRun.processHistory()); + // helper class to extract structured data from TTDTC::Frames + dataFormats_ = &iSetup.getData(esGetTokenDataFormats_); + // helper class to assign tracks to channel + trackBuilderChannel_ = const_cast(&iSetup.getData(esGetTokenTrackBuilderChannel_)); + } + + void ProducerTBout::produce(Event& iEvent, const EventSetup& iSetup) { + const int numStreamsTracks = setup_->numRegions() * trackBuilderChannel_->numChannels(); + const int numStreamsStubs = numStreamsTracks * trackBuilderChannel_->maxNumProjectionLayers(); + // empty KFin products + StreamsStub streamAcceptedStubs(numStreamsStubs); + StreamsTrack streamAcceptedTracks(numStreamsTracks); + StreamsStub streamLostStubs(numStreamsStubs); + StreamsTrack streamLostTracks(numStreamsTracks); + // read in hybrid track finding product and produce KFin product + if (setup_->configurationSupported()) { + // create DTC stub frames + Handle handleTTDTC; + iEvent.getByToken(edGetTokenTTDTC_, handleTTDTC); + const TTDTC& ttDTC = *handleTTDTC; + vector stubsDTC; + stubsDTC.reserve(ttDTC.nStubs()); + for (int region : ttDTC.tfpRegions()) + for (int channel : ttDTC.tfpChannels()) + for (const FrameStub& frame : ttDTC.stream(region, channel)) + if (frame.first.isNonnull()) + stubsDTC.emplace_back(frame, region, channel, setup_); + // create TTrackRefs + Handle handleTTTracks; + iEvent.getByToken(edGetTokenTTTracks_, handleTTTracks); + vector ttTrackRefs; + ttTrackRefs.reserve(handleTTTracks->size()); + for (int i = 0; i < (int)handleTTTracks->size(); i++) + ttTrackRefs.emplace_back(TTTrackRef(handleTTTracks, i)); + // count tracks per channel and size output products + vector nTTTracksStreams(numStreamsTracks, 0); + int channelId; + for (const TTTrackRef& ttTrackRef : ttTrackRefs) + if (trackBuilderChannel_->channelId(ttTrackRef, channelId)) + nTTTracksStreams[channelId]++; + for (int channelTrack = 0; channelTrack < numStreamsTracks; channelTrack++) { + const int num = nTTTracksStreams[channelTrack]; + const int lost = enableTruncation_ && num > setup_->numFrames() ? num - setup_->numFrames() : 0; + const int accepted = lost == 0 ? num : setup_->numFrames(); + streamAcceptedTracks[channelTrack].reserve(accepted); + streamLostTracks[channelTrack].reserve(lost); + for (int projection = 0; projection < trackBuilderChannel_->maxNumProjectionLayers(); projection++) { + const int channelStub = channelTrack * trackBuilderChannel_->maxNumProjectionLayers() + projection; + streamAcceptedStubs[channelStub].reserve(accepted); + streamLostStubs[channelStub].reserve(lost); + } + } + // fill output products + for (const TTTrackRef& ttTrackRef : ttTrackRefs) { + const bool valid = trackBuilderChannel_->channelId(ttTrackRef, channelId); + const bool truncate = enableTruncation_ && (int)streamAcceptedTracks[channelId].size() > setup_->numFrames(); + StreamTrack& tracks = truncate ? streamLostTracks[channelId] : streamAcceptedTracks[channelId]; + if (!valid && !truncate) { // fill gap + tracks.emplace_back(FrameTrack()); + for (int projection = 0; projection < trackBuilderChannel_->maxNumProjectionLayers(); projection++) { + const int channelStub = channelId * trackBuilderChannel_->maxNumProjectionLayers() + projection; + streamAcceptedStubs[channelStub].emplace_back(FrameStub()); + } + continue; + } + // conv track word + tracks.emplace_back(ttTrackRef, conv(ttTrackRef)); + // conv stub words + StreamsStub& streams = truncate ? streamLostStubs : streamAcceptedStubs; + TTBV pattern(0, trackBuilderChannel_->maxNumProjectionLayers()); + int layerId; + for (const TTStubRef& ttStubRef : ttTrackRef->getStubRefs()) { + if (!trackBuilderChannel_->layerId(ttTrackRef, ttStubRef, layerId)) + continue; + pattern.set(layerId); + StreamStub& stubs = streams[channelId * trackBuilderChannel_->maxNumProjectionLayers() + layerId]; + // find dtc stub + auto found = [ttTrackRef, ttStubRef](const Stub& stub) { + return stub.ttStubRef_ == ttStubRef && stub.region_ == (int)ttTrackRef->phiSector(); + }; + const Stub& stub = *find_if(stubsDTC.begin(), stubsDTC.end(), found); + // conv stub word + stubs.emplace_back(ttStubRef, conv(ttTrackRef, stub)); + } + // add gaps to layer w/o stub + for (int layerId : pattern.ids(false)) + streams[channelId * trackBuilderChannel_->maxNumProjectionLayers() + layerId].emplace_back(FrameStub()); + } + } + // store products + iEvent.emplace(edPutTokenAcceptedStubs_, move(streamAcceptedStubs)); + iEvent.emplace(edPutTokenAcceptedTracks_, move(streamAcceptedTracks)); + iEvent.emplace(edPutTokenLostStubs_, move(streamLostStubs)); + iEvent.emplace(edPutTokenLostTracks_, move(streamLostTracks)); + } + + // return h/w bits for given ttTrackRef + Frame ProducerTBout::conv(const TTTrackRef& ttTrackRef) const { + static constexpr int widthSeedType = 3; + static constexpr int widthInvR = 14; + static constexpr int widthPhi0 = 18; + static constexpr int widthZ0 = 10; + static constexpr int widthTanL = 14; + static const double baseInvR = settings_.kphi1() / settings_.kr() * pow(2, settings_.rinv_shift()); + static const double basePhi0 = settings_.kphi1() * pow(2, settings_.phi0_shift()); + static const double baseZ0 = settings_.kz() * pow(2, settings_.z0_shift()); + static const double baseTanL = settings_.kz() / settings_.kr() * pow(2, settings_.t_shift()); + // sub words + // phi0 w.r.t. processing region border in rad + double phi0 = deltaPhi(ttTrackRef->phi() - ttTrackRef->phiSector() * setup_->baseRegion() + setup_->hybridRangePhi() / 2.); + if (phi0 < 0.) + phi0 += 2. * M_PI; + const TTBV hwValid(1, 1); + const TTBV hwSeedType((int)ttTrackRef->trackSeedType(), widthSeedType); + const TTBV hwInvR(ttTrackRef->rInv(), baseInvR, widthInvR, true); + const TTBV hwPhi0(phi0, basePhi0, widthPhi0, false); + const TTBV hwZ0(ttTrackRef->z0(), baseZ0, widthZ0, true); + const TTBV hwTanL(ttTrackRef->tanL(), baseTanL, widthTanL, true); + const TTBV hw(hwValid.str() + hwSeedType.str() + hwInvR.str() + hwZ0.str() + hwTanL.str()); + return hw.bs(); + } + + // return h/w bits for given dtc stub and origin ttTrackRef + Frame ProducerTBout::conv(const TTTrackRef& ttTrackRef, const Stub& stub) const { + static constexpr int widthPhi = 12; + static constexpr int widthZ = 9; + static constexpr int widthR = 7; + static const double basePhi = settings_.kphi1(); + static const double baseR = settings_.kr(); + static const double baseZ = settings_.kz(); + static const double baseInvR = settings_.kphi1() / settings_.kr() * pow(2, settings_.rinv_shift()); + static const double basePhi0 = settings_.kphi1() * pow(2, settings_.phi0_shift()); + static const double baseZ0 = settings_.kz() * pow(2, settings_.z0_shift()); + static const double baseTanL = settings_.kz() / settings_.kr() * pow(2, settings_.t_shift()); + const int widthRZ = stub.barrel_ ? widthZ : widthR; + const double baseRZ = stub.barrel_ ? baseZ : baseR; + // calc residuals + const double rInv = (ttTrackRef->rInv() / baseInvR + .5) * baseInvR; + const double phi0 = (ttTrackRef->phi() / basePhi0 + .5) * basePhi0; + const double z0 = (ttTrackRef->z0() / baseZ0 + .5) * baseZ0; + const double tanL = (ttTrackRef->tanL() / baseTanL + .5) * baseTanL; + const double phi = deltaPhi(phi0 - rInv * stub.gp_.perp() / 2. - stub.gp_.phi()); + const double r = (stub.gp_.z() - z0) / tanL - stub.gp_.perp(); + const double z = z0 + tanL * stub.gp_.perp() - stub.gp_.z(); + const double rz = stub.barrel_ ? r : z; + // sub words + const TTBV hwValid(1, 1); + const TTBV hwR(stub.r_); + const TTBV hwPhi(phi, basePhi, widthPhi, true); + const TTBV hwRZ(rz, baseRZ, widthRZ, true); + const TTBV hw(hwValid.str() + hwR.str() + hwPhi.str() + hwRZ.str()); + return hw.bs(); + } + +} // namespace trackFindingTracklet + +DEFINE_FWK_MODULE(trackFindingTracklet::ProducerTBout); \ No newline at end of file diff --git a/L1Trigger/TrackFindingTracklet/test/demonstrator_cfg.py b/L1Trigger/TrackFindingTracklet/test/demonstrator_cfg.py index fe4ca21c46886..e1be2e5786857 100644 --- a/L1Trigger/TrackFindingTracklet/test/demonstrator_cfg.py +++ b/L1Trigger/TrackFindingTracklet/test/demonstrator_cfg.py @@ -3,8 +3,11 @@ process = cms.Process( "Demo" ) process.load( 'FWCore.MessageService.MessageLogger_cfi' ) -process.load( 'Configuration.Geometry.GeometryExtended2026D76Reco_cff' ) -process.load( 'Configuration.Geometry.GeometryExtended2026D76_cff' ) +process.load( 'Configuration.EventContent.EventContent_cff' ) +#process.load( 'Configuration.Geometry.GeometryExtended2026D76Reco_cff' ) +#process.load( 'Configuration.Geometry.GeometryExtended2026D76_cff' ) +process.load( 'Configuration.Geometry.GeometryExtended2026D49Reco_cff' ) +process.load( 'Configuration.Geometry.GeometryExtended2026D49_cff' ) process.load( 'Configuration.StandardSequences.MagneticField_cff' ) process.load( 'Configuration.StandardSequences.FrontierConditions_GlobalTag_cff' ) process.load( 'L1Trigger.TrackTrigger.TrackTrigger_cff' ) @@ -25,12 +28,9 @@ # build schedule process.tt = cms.Sequence ( process.TrackerDTCProducer - + process.L1TrackletTracks - + process.TrackFindingTrackletProducerKFin - + process.TrackFindingTrackletProducerKF - + process.TrackFindingTrackletProducerTT - + process.TrackFindingTrackletProducerAS - + process.TrackFindingTrackletProducerKFout + + process.L1HybridTracks + + process.TrackFindingTrackletProducerIRin + + process.TrackFindingTrackletProducerTBout ) process.demo = cms.Path( process.tt + process.TrackerTFPDemonstrator ) process.schedule = cms.Schedule( process.demo ) @@ -39,21 +39,22 @@ import FWCore.ParameterSet.VarParsing as VarParsing options = VarParsing.VarParsing( 'analysis' ) # specify input MC -Samples = [ +inputMC = [ #'/store/relval/CMSSW_11_3_0_pre6/RelValSingleMuFlatPt2To100/GEN-SIM-DIGI-RAW/113X_mcRun4_realistic_v6_2026D76noPU-v1/10000/05f802b7-b0b3-4cca-8b70-754682c3bb4c.root' #'/store/relval/CMSSW_11_3_0_pre6/RelValDisplacedMuPt2To100Dxy100/GEN-SIM-DIGI-RAW/113X_mcRun4_realistic_v6_2026D76noPU-v1/00000/011da61a-9524-4a96-b91f-03e8690af3bd.root' - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/00026541-6200-4eed-b6f8-d3a1fd720e9c.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/013d0125-8f6e-496b-8335-614398c9210d.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/058bd134-86de-47e1-bcde-379ed9b79e1b.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0915d66c-cbd4-4ef6-9971-7dd59e198b56.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/09823c8d-e443-4066-8347-8c704929cb2b.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0c39a1aa-93ee-41c1-8543-6d90c09114a7.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0fcdcc53-fb9f-4f0b-8529-a4d60d914c14.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/16760a5c-9cd2-41c3-82e5-399bb962d537.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/1752640f-2001-4d14-9276-063ec07cea92.root', - '/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/180712c9-31a5-4f2a-bf92-a7fbee4dabad.root' + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/00026541-6200-4eed-b6f8-d3a1fd720e9c.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/013d0125-8f6e-496b-8335-614398c9210d.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/058bd134-86de-47e1-bcde-379ed9b79e1b.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0915d66c-cbd4-4ef6-9971-7dd59e198b56.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/09823c8d-e443-4066-8347-8c704929cb2b.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0c39a1aa-93ee-41c1-8543-6d90c09114a7.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/0fcdcc53-fb9f-4f0b-8529-a4d60d914c14.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/16760a5c-9cd2-41c3-82e5-399bb962d537.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/1752640f-2001-4d14-9276-063ec07cea92.root', + #'/store/relval/CMSSW_11_3_0_pre6/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v6_2026D76PU200-v1/00000/180712c9-31a5-4f2a-bf92-a7fbee4dabad.root' + "/store/relval/CMSSW_11_3_0_pre3/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_113X_mcRun4_realistic_v3_2026D49PU200_rsb-v1/00000/00260a30-734a-4a3a-a4b0-f836ce5502c6.root" ] -options.register( 'inputMC', Samples, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Files to be processed" ) +options.register( 'inputMC', inputMC, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Files to be processed" ) # specify number of events to process. options.register( 'Events',100,VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.int, "Number of Events to analyze" ) options.parseArguments() @@ -63,7 +64,7 @@ process.source = cms.Source( "PoolSource", fileNames = cms.untracked.vstring( options.inputMC ), - #skipEvents = cms.untracked.uint32( 914 ), + skipEvents = cms.untracked.uint32( 11 ), secondaryFileNames = cms.untracked.vstring(), duplicateCheckMode = cms.untracked.string( 'noDuplicateCheck' ) ) diff --git a/L1Trigger/TrackerTFP/python/Demonstrator_cfi.py b/L1Trigger/TrackerTFP/python/Demonstrator_cfi.py index 42f0274b982e9..e70d510eeecfb 100644 --- a/L1Trigger/TrackerTFP/python/Demonstrator_cfi.py +++ b/L1Trigger/TrackerTFP/python/Demonstrator_cfi.py @@ -10,9 +10,9 @@ #RunTime = cms.double( 6.0 ) # runtime in us # hybrid - LabelIn = cms.string( "TrackFindingTrackletProducerKF" ), # - LabelOut = cms.string( "TrackFindingTrackletProducerKF" ), # - DirIPBB = cms.string( "/heplnw039/tschuh/work/proj/kfout/" ), # path to ipbb proj area - RunTime = cms.double( 6.0 ) # runtime in us + LabelIn = cms.string( "TrackFindingTrackletProducerIRin" ), # + LabelOut = cms.string( "TrackFindingTrackletProducerTBout" ), # + DirIPBB = cms.string( "/heplnw039/tschuh/work/proj/sim/" ), # path to ipbb proj area + RunTime = cms.double( 8.0 ) # runtime in us ) \ No newline at end of file diff --git a/L1Trigger/TrackerTFP/test/AnalyzerDemonstrator.cc b/L1Trigger/TrackerTFP/test/AnalyzerDemonstrator.cc index e8d1547ff2c78..7850adefb26c8 100644 --- a/L1Trigger/TrackerTFP/test/AnalyzerDemonstrator.cc +++ b/L1Trigger/TrackerTFP/test/AnalyzerDemonstrator.cc @@ -73,7 +73,8 @@ namespace trackerTFP { labelIn == "TrackFindingTrackletProducerKFin" || labelIn == "TrackFindingTrackletProducerKF") edGetTokenTracksIn_ = consumes(InputTag(labelIn, branchTracks)); if (labelOut == "TrackerTFPProducerKF" || labelOut == "TrackerTFPProducerDR" || - labelOut == "TrackFindingTrackletProducerKF" || labelOut == "TrackFindingTrackletProducerKFout") + labelOut == "TrackFindingTrackletProducerKF" || labelOut == "TrackFindingTrackletProducerKFout" || + labelOut == "TrackFindingTrackletProducerTBout") edGetTokenTracksOut_ = consumes(InputTag(labelOut, branchTracks)); // book ES products esGetTokenSetup_ = esConsumes();