Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion L1Trigger/TrackFindingTracklet/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
To run the L1 tracking & create a TTree of tracking performance:
To run the L1 tracking & create a TTree of tracking performance:

cmsRun L1TrackNtupleMaker_cfg.py

Expand Down
39 changes: 34 additions & 5 deletions L1Trigger/TrackFindingTracklet/interface/Settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,13 @@ namespace trklet {

bool extended() const { return extended_; }
void setExtended(bool extended) { extended_ = extended; }
bool duplicateMPs() const { return duplicateMPs_; }
std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedEqualProjBalance() const {
return layersDisksDuplicatedEqualProjBalance_;
}
std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedWeightedProjBalance() const {
return layersDisksDuplicatedWeightedProjBalance_;
}
bool combined() const { return combined_; }
void setCombined(bool combined) { combined_ = combined; }
bool reduced() const { return reduced_; }
Expand Down Expand Up @@ -1028,11 +1035,33 @@ namespace trklet {
bool reduced_{false}; // use reduced (Summer Chain) config
bool inventStubs_{false}; // invent seeding stub coordinates based on tracklet traj

// Use combined TP (TE+TC) and MP (PR+ME+MC) configuration (with prompt tracking)
bool combined_{false};
// N.B. To use combined modules with extended tracking, edit
// Tracklet_cfi.py to refer to *_hourglassExtendedCombined.dat,
// but leave combined_=false.
// Use combined TP (TE+TC) & MP (PR+ME+MC) config (with prompt tracking)
bool combined_{true};
// N.B. For extended tracking, this combined_ is overridden by python cfg
// to false, but combined modules are nonetheless used by default.
// If you don't want them, edit l1tTTTracksFromTrackletEmulation_cfi.py
// to refer to *_hourglassExtended.dat .

// Use chain with duplicated MPs for L3,L4 to reduce truncation issue
// Balances load from projections roughly in half for each of the two MPs
bool duplicateMPs_{false};

// Determines which layers, disks the MatchProcessor is duplicated for
// (note: in TCB by default always duplicated for phi B, C as truncation is significantly worse than A, D)
// All layers, disks disabled by default, also is overwritten by above duplicateMPs bool

// EqualProjBalancing is for layers for which the projections to each duplicated MP are split in half sequentially
std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedEqualProjBalance_{
{false, false, false, false, false, false, false, false, false, false, false}};

// Weighted proj balancing is for specifically L4, L5 where the split of the projections is weighted to account for
// Higher occupancy in the L1L2 seed to minimize truncation
std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedWeightedProjBalance_{
{false, false, false, false, false, false, false, false, false, false, false}};

// Example use where for L3, L4, L5, D2, D3, the layers/disks where truncation is worst
//std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedEqualProjBalance_{{0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0}};
//std::array<bool, N_LAYER + N_DISK> layersDisksDuplicatedWeightedProjBalance_{{0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}};

std::string skimfile_{""}; //if not empty events will be written out in ascii format to this file

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ namespace trklet {
unsigned int NSector_; //Number of sectors
double rcrit_; //critical radius that defines the sector

bool duplicateMPs_; //if true write configuration with MPs duplicated for L3,L4
bool combinedmodules_; //if true write configuration for combined modules

bool extended_; //if true write configuration for extended configuration
Expand Down
23 changes: 15 additions & 8 deletions L1Trigger/TrackFindingTracklet/plugins/L1FPGATrackProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,9 @@ class L1FPGATrackProducer : public edm::one::EDProducer<edm::one::WatchRuns> {
bool readMoreMcTruth_;

/// File path for configuration files
#ifndef USEHYBRID
edm::FileInPath fitPatternFile;
#endif
edm::FileInPath memoryModulesFile;
edm::FileInPath processingModulesFile;
edm::FileInPath wiresFile;
Expand Down Expand Up @@ -254,7 +256,6 @@ L1FPGATrackProducer::L1FPGATrackProducer(edm::ParameterSet const& iConfig)

asciiEventOutName_ = iConfig.getUntrackedParameter<string>("asciiFileName", "");

fitPatternFile = iConfig.getParameter<edm::FileInPath>("fitPatternFile");
processingModulesFile = iConfig.getParameter<edm::FileInPath>("processingModulesFile");
memoryModulesFile = iConfig.getParameter<edm::FileInPath>("memoryModulesFile");
wiresFile = iConfig.getParameter<edm::FileInPath>("wiresFile");
Expand All @@ -281,8 +282,15 @@ L1FPGATrackProducer::L1FPGATrackProducer(edm::ParameterSet const& iConfig)
settings_.setExtended(extended_);
settings_.setReduced(reduced_);
settings_.setNHelixPar(nHelixPar_);
// combined_ must be false for extended tracking, regardless of whether
// combined modules are used or not.
if (extended_)
settings_.setCombined(false);

#ifndef USEHYBRID
fitPatternFile = iConfig.getParameter<edm::FileInPath>("fitPatternFile");
settings_.setFitPatternFile(fitPatternFile.fullPath());
#endif
settings_.setProcessingModulesFile(processingModulesFile.fullPath());
settings_.setMemoryModulesFile(memoryModulesFile.fullPath());
settings_.setWiresFile(wiresFile.fullPath());
Expand All @@ -308,10 +316,12 @@ L1FPGATrackProducer::L1FPGATrackProducer(edm::ParameterSet const& iConfig)
}

if (settings_.debugTracklet()) {
edm::LogVerbatim("Tracklet") << "fit pattern : " << fitPatternFile.fullPath()
<< "\n process modules : " << processingModulesFile.fullPath()
<< "\n memory modules : " << memoryModulesFile.fullPath()
<< "\n wires : " << wiresFile.fullPath();
edm::LogVerbatim("Tracklet")
#ifndef USEHYBRID
<< "fit pattern : " << fitPatternFile.fullPath()
#endif
<< "\n process modules : " << processingModulesFile.fullPath()
<< "\n memory modules : " << memoryModulesFile.fullPath() << "\n wires : " << wiresFile.fullPath();
if (extended_) {
edm::LogVerbatim("Tracklet") << "table_TED : " << tableTEDFile.fullPath()
<< "\n table_TRE : " << tableTREFile.fullPath();
Expand Down Expand Up @@ -750,9 +760,6 @@ void L1FPGATrackProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSe
// trackQualityModel_->setBonusFeatures(hph.bonusFeatures());
// }

// test track word
//aTrack.testTrackWordBits();

// set track word again to set MVA variable from TTTrack into track word
aTrack.setTrackWordBits();
// test track word
Expand Down
97 changes: 0 additions & 97 deletions L1Trigger/TrackFindingTracklet/plugins/ProducerAS.cc

This file was deleted.

Loading