CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
DTLocalTriggerLutTask Class Reference

#include <DTLocalTriggerLutTask.h>

Inheritance diagram for DTLocalTriggerLutTask:
edm::EDAnalyzer

Public Member Functions

 DTLocalTriggerLutTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~DTLocalTriggerLutTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob ()
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 To reset the MEs. More...
 
void beginRun (const edm::Run &, const edm::EventSetup &)
 BeginRun. More...
 
void endJob (void)
 EndJob. More...
 
void searchDccBest (std::vector< L1MuDTChambPhDigi > *trigs)
 Find best (highest qual) DCC trigger segments. More...
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Member Functions

void bookHistos (DTChamberId chId)
 Book histos. More...
 
std::string & topFolder ()
 Get the top folder. More...
 

Private Attributes

std::string baseFolder
 
std::map< uint32_t, std::map
< std::string, MonitorElement * > > 
chHistos
 
DQMStoredbe
 
edm::InputTag dccInputTag
 
bool detailedAnalysis
 
edm::ESHandle< DTGeometrymuonGeom
 
int nEvents
 
int nLumis
 
int nPhibBins
 
int nPhiBins
 
bool overUnderIn
 
edm::ParameterSet parameters
 
double rangePhi
 
double rangePhiB
 
edm::InputTag segInputTag
 
std::string theGeomLabel
 
bool track_ok [6][5][15]
 
const L1MuDTChambPhDigitrigBest [6][5][13]
 
DTTrigGeomUtilstrigGeomUtils
 
int trigQualBest [6][5][13]
 
std::map< int, std::map
< std::string, MonitorElement * > > 
whHistos
 

Friends

class DTMonitorModule
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 41 of file DTLocalTriggerLutTask.h.

Constructor & Destructor Documentation

DTLocalTriggerLutTask::DTLocalTriggerLutTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 38 of file DTLocalTriggerLutTask.cc.

References baseFolder, dbe, dccInputTag, detailedAnalysis, edm::ParameterSet::getUntrackedParameter(), LogTrace, nPhibBins, nPhiBins, cppFunctionSkipper::operator, overUnderIn, parameters, rangePhi, rangePhiB, segInputTag, and theGeomLabel.

38  : trigGeomUtils(0) {
39 
40  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: Constructor"<<endl;
41 
42  dccInputTag = ps.getUntrackedParameter<InputTag>("inputTagDCC");
43  segInputTag = ps.getUntrackedParameter<InputTag>("inputTagSEG");
44 
45  overUnderIn = ps.getUntrackedParameter<bool>("rebinOutFlowsInGraph");
46  detailedAnalysis = ps.getUntrackedParameter<bool>("detailedAnalysis");
47  theGeomLabel = ps.getUntrackedParameter<string>("geomLabel");
48 
49  if (detailedAnalysis){
50  nPhiBins = 401;
51  rangePhi = 10.025;
52  nPhibBins = 401;
53  rangePhiB = 10.025;
54  } else {
55  nPhiBins = 51;
56  rangePhi = 5.1;
57  nPhibBins = 51;
58  rangePhiB = 10.2;
59  }
60 
61  baseFolder = "DT/03-LocalTrigger-DCC/";
62  parameters = ps;
64 
65 }
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet parameters
#define LogTrace(id)
DTTrigGeomUtils * trigGeomUtils
DTLocalTriggerLutTask::~DTLocalTriggerLutTask ( )
virtual

Destructor.

Definition at line 68 of file DTLocalTriggerLutTask.cc.

References LogTrace, nEvents, and trigGeomUtils.

68  {
69 
70  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: analyzed " << nEvents << " events" << endl;
71  if (trigGeomUtils) { delete trigGeomUtils; }
72 
73 }
#define LogTrace(id)
DTTrigGeomUtils * trigGeomUtils

Member Function Documentation

void DTLocalTriggerLutTask::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 166 of file DTLocalTriggerLutTask.cc.

References chHistos, DTTrigGeomUtils::computeSCCoordinates(), dccInputTag, DTRecSegment2D::degreesOfFreedom(), detailedAnalysis, edm::Event::getByLabel(), max(), min, nEvents, overUnderIn, DTRecSegment4D::phiSegment(), rangePhi, rangePhiB, DetId::rawId(), searchDccBest(), segInputTag, DTChamberId::station(), relativeConstraints::station, trigBest, DTTrigGeomUtils::trigDir(), trigGeomUtils, DTTrigGeomUtils::trigPos(), trigQualBest, DTTrigGeomUtils::trigToSeg(), and DTChamberId::wheel().

166  {
167 
168  nEvents++;
169 
171  e.getByLabel(dccInputTag,trigHandle);
172  vector<L1MuDTChambPhDigi>* trigs = trigHandle->getContainer();
173  searchDccBest(trigs);
174 
176  e.getByLabel(segInputTag,segments4D);
178 
179  // Preliminary loop finds best 4D Segment and high quality ones
180  vector<const DTRecSegment4D*> best4DSegments;
181 
182  for (chamberId = segments4D->id_begin(); chamberId != segments4D->id_end(); ++chamberId){
183 
184  DTRecSegment4DCollection::range rangeInCh = segments4D->get(*chamberId);
185  DTRecSegment4DCollection::const_iterator trackIt = rangeInCh.first;
186  DTRecSegment4DCollection::const_iterator trackEnd = rangeInCh.second;
187 
188  const DTRecSegment4D* tmpBest = 0;
189  int tmpdof = 0;
190  int dof = 0;
191 
192  for (; trackIt!=trackEnd; ++trackIt){
193 
194  if(trackIt->hasPhi()) {
195  dof = trackIt->phiSegment()->degreesOfFreedom();
196  if (dof>tmpdof) {
197  tmpBest = &(*trackIt);
198  tmpdof = dof;
199  }
200  }
201 
202  }
203 
204  if (tmpBest) best4DSegments.push_back(tmpBest);
205 
206  }
207 
208  vector<const DTRecSegment4D*>::const_iterator bestTrackIt = best4DSegments.begin();
209  vector<const DTRecSegment4D*>::const_iterator bestTrackEnd = best4DSegments.end();
210 
211  for (; bestTrackIt!=bestTrackEnd; ++bestTrackIt) {
212 
213  if((*bestTrackIt)->hasPhi()) {
214 
215  DTChamberId chId = (*bestTrackIt)->chamberId();
216  int nHitsPhi = (*bestTrackIt)->phiSegment()->degreesOfFreedom()+2;
217 
218  int wheel = chId.wheel();
219  int station = chId.station();
220  int scsector = 0;
221  float trackPosPhi, trackPosEta, trackDirPhi, trackDirEta;
222  trigGeomUtils->computeSCCoordinates((*bestTrackIt),scsector,trackPosPhi,trackDirPhi,trackPosEta,trackDirEta);
223 
224  map<string, MonitorElement*> &chMap = chHistos[chId.rawId()];
225 
226  if (trigQualBest[wheel+3][station][scsector] > 3 && // residuals only for correlate triggers
227  trigQualBest[wheel+3][station][scsector] < 7 &&
228  nHitsPhi>=7 ) {
229 
230  float trigPos = trigGeomUtils->trigPos(trigBest[wheel+3][station][scsector]);
231  float trigDir = trigGeomUtils->trigDir(trigBest[wheel+3][station][scsector]);
232  trigGeomUtils->trigToSeg(station,trigPos,trackDirPhi);
233 
234  double deltaPos = trigPos-trackPosPhi;
235  deltaPos = overUnderIn ? max(min(deltaPos,rangePhi-0.01),-rangePhi+0.01) : deltaPos;
236  double deltaDir = trigDir-trackDirPhi;
237  deltaDir = overUnderIn ? max(min(deltaDir,rangePhiB-0.01),-rangePhiB+0.01) : deltaDir;
238  chMap.find("DCC_PhiResidual")->second->Fill(deltaPos);
239  chMap.find("DCC_PhibResidual")->second->Fill(deltaDir);
240 
241  if (detailedAnalysis){
242  chMap.find("DCC_PhitkvsPhitrig")->second->Fill(trigPos,trackPosPhi);
243  chMap.find("DCC_PhibtkvsPhibtrig")->second->Fill(trigDir,trackDirPhi);
244  chMap.find("DCC_PhibResidualvsTkPos")->second->Fill(trackPosPhi,trigDir-trackDirPhi);
245  chMap.find("DCC_PhiResidualvsTkPos")->second->Fill(trackPosPhi,trigPos-trackPosPhi);
246  }
247 
248  }
249 
250  }
251  }
252 
253 }
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:52
virtual int degreesOfFreedom() const
return the DOF of the segment
const DTChamberRecSegment2D * phiSegment() const
The superPhi segment: 0 if no phi projection available.
float trigDir(const L1MuDTChambPhDigi *trig)
Return local direction (trigger RF) for a given trigger primitive.
identifier iterator
Definition: RangeMap.h:138
#define min(a, b)
Definition: mlp_lapack.h:161
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:45
const T & max(const T &a, const T &b)
void trigToSeg(int st, float &x, float dir)
Compute Trigger x coordinate in chamber RF.
void searchDccBest(std::vector< L1MuDTChambPhDigi > *trigs)
Find best (highest qual) DCC trigger segments.
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
std::map< uint32_t, std::map< std::string, MonitorElement * > > chHistos
DTTrigGeomUtils * trigGeomUtils
const L1MuDTChambPhDigi * trigBest[6][5][13]
float trigPos(const L1MuDTChambPhDigi *trig)
Return local position (trigger RF) for a given trigger primitive.
int station() const
Return the station number.
Definition: DTChamberId.h:53
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:47
void computeSCCoordinates(const DTRecSegment4D *track, int &scsec, float &x, float &xdir, float &y, float &ydir)
Compute track coordinates with SC sector numbering.
void DTLocalTriggerLutTask::beginJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 76 of file DTLocalTriggerLutTask.cc.

References LogTrace, nEvents, and nLumis.

76  {
77 
78  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: BeginJob" << endl;
79  nEvents = 0;
80  nLumis = 0;
81 
82 }
#define LogTrace(id)
void DTLocalTriggerLutTask::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
protectedvirtual

To reset the MEs.

Reimplemented from edm::EDAnalyzer.

Definition at line 134 of file DTLocalTriggerLutTask.cc.

References chHistos, edm::ParameterSet::getUntrackedParameter(), LogTrace, nLumis, and parameters.

134  {
135 
136  nLumis++;
137  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: Begin of LS transition" << endl;
138 
139  if(nLumis%parameters.getUntrackedParameter<int>("ResetCycle") == 0) {
140 
141  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: Cleaning histos" << endl;
142  map<uint32_t, map<string, MonitorElement*> > ::const_iterator chambIt = chHistos.begin();
143  map<uint32_t, map<string, MonitorElement*> > ::const_iterator chambEnd = chHistos.end();
144 
145  for(; chambIt!=chambEnd; ++chambIt) {
146  map<string, MonitorElement*> ::const_iterator histoIt = chambIt->second.begin();
147  map<string, MonitorElement*> ::const_iterator histoEnd = chambIt->second.end();
148  for(; histoIt!=histoEnd; ++ histoIt) {
149  histoIt->second->Reset();
150  }
151  }
152 
153  }
154 
155 }
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet parameters
#define LogTrace(id)
std::map< uint32_t, std::map< std::string, MonitorElement * > > chHistos
void DTLocalTriggerLutTask::beginRun ( const edm::Run run,
const edm::EventSetup context 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 118 of file DTLocalTriggerLutTask.cc.

References bookHistos(), edm::EventSetup::get(), LogTrace, muonGeom, theGeomLabel, and trigGeomUtils.

118  {
119 
120  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: BeginRun" << endl;
121 
124 
125  std::vector<DTChamber*>::const_iterator chambIt = muonGeom->chambers().begin();
126  std::vector<DTChamber*>::const_iterator chambEnd = muonGeom->chambers().end();
127 
128  for (; chambIt!=chambEnd; ++chambIt)
129  bookHistos((*chambIt)->id());
130 
131 }
edm::ESHandle< DTGeometry > muonGeom
#define LogTrace(id)
DTTrigGeomUtils * trigGeomUtils
const T & get() const
Definition: EventSetup.h:55
void bookHistos(DTChamberId chId)
Book histos.
void DTLocalTriggerLutTask::bookHistos ( DTChamberId  chId)
private

Book histos.

Definition at line 84 of file DTLocalTriggerLutTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), chHistos, dbe, detailedAnalysis, nPhibBins, nPhiBins, rangePhi, rangePhiB, DetId::rawId(), DTChamberId::sector(), DQMStore::setCurrentFolder(), DTChamberId::station(), relativeConstraints::station, topFolder(), and DTChamberId::wheel().

Referenced by beginRun().

84  {
85 
86  stringstream wheel; wheel << chId.wheel();
87  stringstream sector; sector << chId.sector();
88  stringstream station; station << chId.station();
89 
90  dbe->setCurrentFolder(topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() +
91  "/Station" + station.str() + "/Segment");
92 
93  string chTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
94  std::map<std::string, MonitorElement*> &chambMap = chHistos[chId.rawId()];
95 
96  string hName = "DCC_PhiResidual";
97  chambMap[hName] = dbe->book1D(hName+chTag,"Trigger local position - Segment local position (correlated triggers)",nPhiBins,-rangePhi,rangePhi);
98  hName = "DCC_PhibResidual";
99  chambMap[hName] =dbe->book1D(hName+chTag,"Trigger local direction - Segment local direction (correlated triggers)",nPhibBins,-rangePhiB,rangePhiB);
100 
101  if (detailedAnalysis) {
102 
103  hName = "DCC_PhitkvsPhitrig";
104  chambMap[hName] = dbe->book2D(hName+chTag,"Local position: segment vs trigger",100,-500.,500.,100,-500.,500.);
105  hName = "DCC_PhibtkvsPhibtrig";
106  chambMap[hName] =dbe->book2D(hName+chTag,"Local direction : segment vs trigger",200,-40.,40.,200,-40.,40.);
107  hName = "DCC_PhibResidualvsTkPos";
108  chambMap[hName] =dbe->book2D(hName+chTag,"Local direction residual vs Segment Position",100,-500.,500.,200,-10.,10.);
109  hName = "DCC_PhiResidualvsTkPos";
110  chambMap[hName] =dbe->book2D(hName+chTag,"Local Position residual vs Segment Position",100,-500.,500.,200,-10.,10.);
111 
112  }
113 
114 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
std::string & topFolder()
Get the top folder.
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
std::map< uint32_t, std::map< std::string, MonitorElement * > > chHistos
int sector() const
Definition: DTChamberId.h:63
int station() const
Return the station number.
Definition: DTChamberId.h:53
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:845
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:47
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
void DTLocalTriggerLutTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 158 of file DTLocalTriggerLutTask.cc.

References dbe, nEvents, DQMStore::rmdir(), and topFolder().

158  {
159 
160  LogVerbatim("DTDQM|DTMonitorModule|DTLocalTriggerLutTask") << "[DTLocalTriggerLutTask]: analyzed " << nEvents << " events" << endl;
161  dbe->rmdir(topFolder());
162 
163 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2530
std::string & topFolder()
Get the top folder.
void DTLocalTriggerLutTask::searchDccBest ( std::vector< L1MuDTChambPhDigi > *  trigs)
protected

Find best (highest qual) DCC trigger segments.

Definition at line 255 of file DTLocalTriggerLutTask.cc.

References trigBest, and trigQualBest.

Referenced by analyze().

255  {
256 
257  string histoType ;
258  string histoTag ;
259 
260  // define best quality trigger segment
261  // start from 1 and zero is kept empty
262  for (int st=0;st<=4;++st)
263  for (int wh=0;wh<=5;++wh)
264  for (int sec=0;sec<=12;++sec)
265  trigQualBest[wh][st][sec] = -1;
266 
267  vector<L1MuDTChambPhDigi>::const_iterator trigIt = trigs->begin();
268  vector<L1MuDTChambPhDigi>::const_iterator trigEnd = trigs->end();
269  for(; trigIt!=trigEnd; ++trigIt) {
270 
271  int wh = trigIt->whNum();
272  int sec = trigIt->scNum() + 1; // DTTF -> DT sector range transform
273  int st = trigIt->stNum();
274  int qual = trigIt->code();
275 
276  if(qual>trigQualBest[wh+3][st][sec] && qual<7) {
277  trigQualBest[wh+3][st][sec]=qual;
278  trigBest[wh+3][st][sec] = &(*trigIt);
279  }
280 
281  }
282 }
const L1MuDTChambPhDigi * trigBest[6][5][13]
std::string& DTLocalTriggerLutTask::topFolder ( )
inlineprivate

Get the top folder.

Definition at line 76 of file DTLocalTriggerLutTask.h.

References baseFolder.

Referenced by bookHistos(), and endJob().

76 { return baseFolder; }

Friends And Related Function Documentation

friend class DTMonitorModule
friend

Definition at line 43 of file DTLocalTriggerLutTask.h.

Member Data Documentation

std::string DTLocalTriggerLutTask::baseFolder
private

Definition at line 88 of file DTLocalTriggerLutTask.h.

Referenced by DTLocalTriggerLutTask(), and topFolder().

std::map<uint32_t, std::map<std::string, MonitorElement*> > DTLocalTriggerLutTask::chHistos
private

Definition at line 105 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), beginLuminosityBlock(), and bookHistos().

DQMStore* DTLocalTriggerLutTask::dbe
private

Definition at line 99 of file DTLocalTriggerLutTask.h.

Referenced by bookHistos(), DTLocalTriggerLutTask(), and endJob().

edm::InputTag DTLocalTriggerLutTask::dccInputTag
private

Definition at line 92 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), and DTLocalTriggerLutTask().

bool DTLocalTriggerLutTask::detailedAnalysis
private

Definition at line 89 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), bookHistos(), and DTLocalTriggerLutTask().

edm::ESHandle<DTGeometry> DTLocalTriggerLutTask::muonGeom
private

Definition at line 101 of file DTLocalTriggerLutTask.h.

Referenced by beginRun().

int DTLocalTriggerLutTask::nEvents
private

Definition at line 83 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), beginJob(), endJob(), and ~DTLocalTriggerLutTask().

int DTLocalTriggerLutTask::nLumis
private

Definition at line 84 of file DTLocalTriggerLutTask.h.

Referenced by beginJob(), and beginLuminosityBlock().

int DTLocalTriggerLutTask::nPhibBins
private

Definition at line 85 of file DTLocalTriggerLutTask.h.

Referenced by bookHistos(), and DTLocalTriggerLutTask().

int DTLocalTriggerLutTask::nPhiBins
private

Definition at line 85 of file DTLocalTriggerLutTask.h.

Referenced by bookHistos(), and DTLocalTriggerLutTask().

bool DTLocalTriggerLutTask::overUnderIn
private

Definition at line 90 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), and DTLocalTriggerLutTask().

edm::ParameterSet DTLocalTriggerLutTask::parameters
private
double DTLocalTriggerLutTask::rangePhi
private

Definition at line 86 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), bookHistos(), and DTLocalTriggerLutTask().

double DTLocalTriggerLutTask::rangePhiB
private

Definition at line 86 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), bookHistos(), and DTLocalTriggerLutTask().

edm::InputTag DTLocalTriggerLutTask::segInputTag
private

Definition at line 93 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), and DTLocalTriggerLutTask().

std::string DTLocalTriggerLutTask::theGeomLabel
private

Definition at line 102 of file DTLocalTriggerLutTask.h.

Referenced by beginRun(), and DTLocalTriggerLutTask().

bool DTLocalTriggerLutTask::track_ok[6][5][15]
private

Definition at line 97 of file DTLocalTriggerLutTask.h.

const L1MuDTChambPhDigi* DTLocalTriggerLutTask::trigBest[6][5][13]
private

Definition at line 96 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), and searchDccBest().

DTTrigGeomUtils* DTLocalTriggerLutTask::trigGeomUtils
private

Definition at line 103 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), beginRun(), and ~DTLocalTriggerLutTask().

int DTLocalTriggerLutTask::trigQualBest[6][5][13]
private

Definition at line 95 of file DTLocalTriggerLutTask.h.

Referenced by analyze(), and searchDccBest().

std::map<int, std::map<std::string, MonitorElement*> > DTLocalTriggerLutTask::whHistos
private

Definition at line 106 of file DTLocalTriggerLutTask.h.