#include <DataFormats/L1Trigger/interface/L1ParticleMap.h>
Definition at line 120 of file L1ParticleMap.h.
typedef std::vector< unsigned int > l1extra::L1ParticleMap::L1IndexCombo |
Definition at line 269 of file L1ParticleMap.h.
typedef std::vector< L1IndexCombo > l1extra::L1ParticleMap::L1IndexComboVector |
Definition at line 270 of file L1ParticleMap.h.
typedef std::vector< L1ObjectType > l1extra::L1ParticleMap::L1ObjectTypeVector |
Definition at line 271 of file L1ParticleMap.h.
Definition at line 124 of file L1ParticleMap.h.
00125 { 00126 kEM, // = isolated or non-isolated 00127 kJet, // = central, forward, or tau 00128 kMuon, 00129 kEtMiss, 00130 kEtTotal, 00131 kEtHad, 00132 kNumOfL1ObjectTypes 00133 } ;
Definition at line 141 of file L1ParticleMap.h.
00142 { 00143 kSingleMu3, 00144 kSingleMu5, 00145 kSingleMu7, 00146 kSingleMu10, 00147 kSingleMu14, 00148 kSingleMu20, 00149 kSingleMu25, 00150 kSingleIsoEG5, 00151 kSingleIsoEG8, 00152 kSingleIsoEG10, 00153 kSingleIsoEG12, 00154 kSingleIsoEG15, 00155 kSingleIsoEG20, 00156 kSingleIsoEG25, 00157 kSingleEG5, 00158 kSingleEG8, 00159 kSingleEG10, 00160 kSingleEG12, 00161 kSingleEG15, 00162 kSingleEG20, 00163 kSingleEG25, 00164 kSingleJet15, 00165 kSingleJet20, 00166 kSingleJet30, 00167 kSingleJet50, 00168 kSingleJet70, 00169 kSingleJet100, 00170 kSingleJet150, 00171 kSingleJet200, 00172 kSingleTauJet10, 00173 kSingleTauJet20, 00174 kSingleTauJet30, 00175 kSingleTauJet35, 00176 kSingleTauJet40, 00177 kSingleTauJet60, 00178 kSingleTauJet80, 00179 kSingleTauJet100, 00180 kHTT100, 00181 kHTT200, 00182 kHTT250, 00183 kHTT300, 00184 kHTT400, 00185 kHTT500, 00186 kETM10, 00187 kETM15, 00188 kETM20, 00189 kETM30, 00190 kETM40, 00191 kETM50, 00192 kETM60, 00193 kETT60, 00194 kDoubleMu3, 00195 kDoubleIsoEG8, 00196 kDoubleIsoEG10, 00197 kDoubleEG5, 00198 kDoubleEG10, 00199 kDoubleEG15, 00200 kDoubleJet70, 00201 kDoubleJet100, 00202 kDoubleTauJet20, 00203 kDoubleTauJet30, 00204 kDoubleTauJet35, 00205 kDoubleTauJet40, 00206 kMu3_IsoEG5, 00207 kMu5_IsoEG10, 00208 kMu3_EG12, 00209 kMu3_Jet15, 00210 kMu5_Jet15, 00211 kMu3_Jet70, 00212 kMu5_Jet20, 00213 kMu5_TauJet20, 00214 kMu5_TauJet30, 00215 kIsoEG10_EG10, 00216 kIsoEG10_Jet15, 00217 kIsoEG10_Jet20, 00218 kIsoEG10_Jet30, 00219 kIsoEG10_Jet70, 00220 kIsoEG10_TauJet20, 00221 kIsoEG10_TauJet30, 00222 kEG10_Jet15, 00223 kEG12_Jet20, 00224 kEG12_Jet70, 00225 kEG12_TauJet40, 00226 kJet70_TauJet40, 00227 kMu3_HTT200, 00228 kIsoEG10_HTT200, 00229 kEG12_HTT200, 00230 kJet70_HTT200, 00231 kTauJet40_HTT200, 00232 kMu3_ETM30, 00233 kIsoEG10_ETM30, 00234 kEG12_ETM30, 00235 kJet70_ETM40, 00236 kTauJet20_ETM20, 00237 kTauJet30_ETM30, 00238 kTauJet30_ETM40, 00239 kHTT100_ETM30, 00240 kTripleMu3, 00241 kTripleIsoEG5, 00242 kTripleEG10, 00243 kTripleJet50, 00244 kTripleTauJet40, 00245 kDoubleMu3_IsoEG5, 00246 kDoubleMu3_EG10, 00247 kDoubleIsoEG5_Mu3, 00248 kDoubleEG10_Mu3, 00249 kDoubleMu3_HTT200, 00250 kDoubleIsoEG5_HTT200, 00251 kDoubleEG10_HTT200, 00252 kDoubleJet50_HTT200, 00253 kDoubleTauJet40_HTT200, 00254 kDoubleMu3_ETM20, 00255 kDoubleIsoEG5_ETM20, 00256 kDoubleEG10_ETM20, 00257 kDoubleJet50_ETM20, 00258 kDoubleTauJet40_ETM20, 00259 kQuadJet30, 00260 kExclusiveDoubleIsoEG4, 00261 kExclusiveDoubleJet60, 00262 kExclusiveJet25_Gap_Jet25, 00263 kIsoEG10_Jet20_ForJet10, 00264 kMinBias_HTT10, 00265 kZeroBias, 00266 kNumOfL1TriggerTypes 00267 } ;
L1ParticleMap::L1ParticleMap | ( | ) |
L1ParticleMap::L1ParticleMap | ( | L1TriggerType | triggerType, | |
bool | triggerDecision, | |||
const L1ObjectTypeVector & | objectTypes, | |||
const L1EmParticleVectorRef & | emParticles = L1EmParticleVectorRef() , |
|||
const L1JetParticleVectorRef & | jetParticles = L1JetParticleVectorRef() , |
|||
const L1MuonParticleVectorRef & | muonParticles = L1MuonParticleVectorRef() , |
|||
const L1EtMissParticleRefProd & | etMissParticle = L1EtMissParticleRefProd() , |
|||
const L1IndexComboVector & | indexCombos = L1IndexComboVector() | |||
) |
Definition at line 168 of file L1ParticleMap.cc.
00177 : triggerType_( triggerType ), 00178 triggerDecision_( triggerDecision ), 00179 objectTypes_( objectTypes ), 00180 emParticles_( emParticles ), 00181 jetParticles_( jetParticles ), 00182 muonParticles_( muonParticles ), 00183 etMissParticle_( etMissParticle ), 00184 indexCombos_( indexCombos ) 00185 { 00186 }
L1ParticleMap::~L1ParticleMap | ( | ) | [virtual] |
std::vector< const reco::LeafCandidate * > L1ParticleMap::candidateCombo | ( | const L1IndexCombo & | aCombo | ) | const |
Definition at line 390 of file L1ParticleMap.cc.
References candidateInCombo(), i, numOfObjects(), and tmp.
00391 { 00392 std::vector< const reco::LeafCandidate* > tmp ; 00393 00394 for( int i = 0 ; i < numOfObjects() ; ++i ) 00395 { 00396 tmp.push_back( candidateInCombo( i, aCombo ) ) ; 00397 } 00398 00399 return tmp ; 00400 }
const reco::LeafCandidate * L1ParticleMap::candidateInCombo | ( | int | aIndexInCombo, | |
const L1IndexCombo & | aCombo | |||
) | const |
Definition at line 290 of file L1ParticleMap.cc.
References emParticles_, etMissParticle_, edm::RefProd< C >::get(), jetParticles_, kEM, kEtHad, kEtMiss, kEtTotal, kJet, kMuon, muonParticles_, and objectTypes_.
Referenced by candidateCombo().
00292 { 00293 L1ObjectType type = objectTypes_[ aIndexInCombo ] ; 00294 int particleInList = aCombo[ aIndexInCombo ] ; 00295 00296 if( type == kEM ) 00297 { 00298 return dynamic_cast< const reco::LeafCandidate* >( 00299 emParticles_[ particleInList ].get() ) ; 00300 } 00301 else if( type == kJet ) 00302 { 00303 return dynamic_cast< const reco::LeafCandidate* >( 00304 jetParticles_[ particleInList ].get() ) ; 00305 } 00306 else if( type == kMuon ) 00307 { 00308 return dynamic_cast< const reco::LeafCandidate* >( 00309 muonParticles_[ particleInList ].get() ) ; 00310 } 00311 else if( type == kEtMiss || type == kEtTotal || type == kEtHad ) 00312 { 00313 return dynamic_cast< const reco::LeafCandidate* >( 00314 etMissParticle_.get() ) ; 00315 } 00316 else 00317 { 00318 return 0 ; 00319 } 00320 }
const L1EmParticle * L1ParticleMap::emParticleInCombo | ( | int | aIndexInCombo, | |
const L1IndexCombo & | aCombo | |||
) | const |
Definition at line 323 of file L1ParticleMap.cc.
References emParticles_, kEM, and objectTypes_.
00325 { 00326 L1ObjectType type = objectTypes_[ aIndexInCombo ] ; 00327 int particleInList = aCombo[ aIndexInCombo ] ; 00328 00329 if( type == kEM ) 00330 { 00331 return emParticles_[ particleInList ].get() ; 00332 } 00333 else 00334 { 00335 return 0 ; 00336 } 00337 }
const L1EmParticleVectorRef& l1extra::L1ParticleMap::emParticles | ( | ) | const [inline] |
Definition at line 312 of file L1ParticleMap.h.
References emParticles_.
00313 { return emParticles_ ; }
const L1EtMissParticleRefProd& l1extra::L1ParticleMap::etMissParticle | ( | ) | const [inline] |
Definition at line 321 of file L1ParticleMap.h.
References etMissParticle_.
00322 { return etMissParticle_ ; }
const L1EtMissParticle * L1ParticleMap::etMissParticleInCombo | ( | int | aIndexInCombo, | |
const L1IndexCombo & | aCombo | |||
) | const |
Definition at line 374 of file L1ParticleMap.cc.
References etMissParticle_, edm::RefProd< C >::get(), kEtHad, kEtMiss, kEtTotal, and objectTypes_.
00376 { 00377 L1ObjectType type = objectTypes_[ aIndexInCombo ] ; 00378 00379 if( type == kEtMiss || type == kEtTotal || type == kEtHad ) 00380 { 00381 return etMissParticle_.get() ; 00382 } 00383 else 00384 { 00385 return 0 ; 00386 } 00387 }
const L1ParticleMap::L1IndexComboVector & L1ParticleMap::indexCombos | ( | ) | const |
Definition at line 218 of file L1ParticleMap.cc.
References emParticles_, i, indexCombos_, j, jetParticles_, kEM, kJet, kMuon, kNumOfL1ObjectTypes, muonParticles_, numOfObjects(), objectTypeIsGlobal(), and objectTypes_.
00219 { 00220 if( indexCombos_.size() == 0 ) 00221 { 00222 // Determine the number of non-global objects. There should be 0 or 1. 00223 int numNonGlobal = 0 ; 00224 L1ObjectType nonGlobalType = kNumOfL1ObjectTypes ; 00225 int nonGlobalIndex = -1 ; 00226 for( int i = 0 ; i < numOfObjects() ; ++i ) 00227 { 00228 if( !objectTypeIsGlobal( objectTypes_[ i ] ) ) 00229 { 00230 ++numNonGlobal ; 00231 nonGlobalType = objectTypes_[ i ] ; 00232 nonGlobalIndex = i ; 00233 } 00234 } 00235 00236 if( numNonGlobal == 0 ) 00237 { 00238 // Dummy entry for each object type. 00239 L1IndexCombo tmpCombo ; 00240 00241 for( int i = 0 ; i < numOfObjects() ; ++i ) 00242 { 00243 tmpCombo.push_back( 0 ) ; 00244 } 00245 00246 indexCombos_.push_back( tmpCombo ) ; 00247 } 00248 else if( numNonGlobal == 1 ) 00249 { 00250 int nParticles = 0 ; 00251 00252 if( nonGlobalType == kEM ) 00253 { 00254 nParticles = emParticles_.size() ; 00255 } 00256 else if( nonGlobalType == kJet ) 00257 { 00258 nParticles = jetParticles_.size() ; 00259 } 00260 else if( nonGlobalType == kMuon ) 00261 { 00262 nParticles = muonParticles_.size() ; 00263 } 00264 00265 for( int i = 0 ; i < nParticles ; ++i ) 00266 { 00267 L1IndexCombo tmpCombo ; 00268 00269 for( int j = 0 ; j < numOfObjects() ; ++j ) 00270 { 00271 if( j == nonGlobalIndex ) 00272 { 00273 tmpCombo.push_back( i ) ; 00274 } 00275 else 00276 { 00277 tmpCombo.push_back( 0 ) ; 00278 } 00279 } 00280 00281 indexCombos_.push_back( tmpCombo ) ; 00282 } 00283 } 00284 } 00285 00286 return indexCombos_ ; 00287 }
const L1JetParticle * L1ParticleMap::jetParticleInCombo | ( | int | aIndexInCombo, | |
const L1IndexCombo & | aCombo | |||
) | const |
Definition at line 340 of file L1ParticleMap.cc.
References jetParticles_, kJet, and objectTypes_.
00342 { 00343 L1ObjectType type = objectTypes_[ aIndexInCombo ] ; 00344 int particleInList = aCombo[ aIndexInCombo ] ; 00345 00346 if( type == kJet ) 00347 { 00348 return jetParticles_[ particleInList ].get() ; 00349 } 00350 else 00351 { 00352 return 0 ; 00353 } 00354 }
const L1JetParticleVectorRef& l1extra::L1ParticleMap::jetParticles | ( | ) | const [inline] |
Definition at line 315 of file L1ParticleMap.h.
References jetParticles_.
00316 { return jetParticles_ ; }
const L1MuonParticle * L1ParticleMap::muonParticleInCombo | ( | int | aIndexInCombo, | |
const L1IndexCombo & | aCombo | |||
) | const |
Definition at line 357 of file L1ParticleMap.cc.
References kMuon, muonParticles_, and objectTypes_.
00359 { 00360 L1ObjectType type = objectTypes_[ aIndexInCombo ] ; 00361 int particleInList = aCombo[ aIndexInCombo ] ; 00362 00363 if( type == kMuon ) 00364 { 00365 return muonParticles_[ particleInList ].get() ; 00366 } 00367 else 00368 { 00369 return 0 ; 00370 } 00371 }
const L1MuonParticleVectorRef& l1extra::L1ParticleMap::muonParticles | ( | ) | const [inline] |
Definition at line 318 of file L1ParticleMap.h.
References muonParticles_.
00319 { return muonParticles_ ; }
int l1extra::L1ParticleMap::numOfObjects | ( | ) | const [inline] |
Definition at line 309 of file L1ParticleMap.h.
References objectTypes_.
Referenced by candidateCombo(), and indexCombos().
00310 { return objectTypes_.size() ; }
bool L1ParticleMap::objectTypeIsGlobal | ( | L1ObjectType | type | ) | [static] |
const L1ObjectTypeVector& l1extra::L1ParticleMap::objectTypes | ( | ) | const [inline] |
Definition at line 305 of file L1ParticleMap.h.
References objectTypes_.
00306 { return objectTypes_ ; }
bool l1extra::L1ParticleMap::triggerDecision | ( | ) | const [inline] |
Definition at line 299 of file L1ParticleMap.h.
References triggerDecision_.
00300 { return triggerDecision_ ; }
const std::string & L1ParticleMap::triggerName | ( | L1TriggerType | type | ) | [static] |
Definition at line 406 of file L1ParticleMap.cc.
References triggerNames_.
00407 { 00408 return triggerNames_[ type ] ; 00409 }
const std::string& l1extra::L1ParticleMap::triggerName | ( | ) | const [inline] |
Definition at line 296 of file L1ParticleMap.h.
References triggerType_.
00297 { return triggerName( triggerType_ ) ; }
L1ParticleMap::L1TriggerType L1ParticleMap::triggerType | ( | const std::string & | name | ) | [static] |
Definition at line 412 of file L1ParticleMap.cc.
References i, kNumOfL1TriggerTypes, and triggerNames_.
00413 { 00414 for( int i = 0 ; i < kNumOfL1TriggerTypes ; ++i ) 00415 { 00416 if( triggerNames_[ i ] == name ) 00417 { 00418 return ( L1TriggerType ) i ; 00419 } 00420 } 00421 00422 return kNumOfL1TriggerTypes ; 00423 }
L1TriggerType l1extra::L1ParticleMap::triggerType | ( | ) | const [inline] |
Definition at line 293 of file L1ParticleMap.h.
References triggerType_.
00294 { return triggerType_ ; }
Definition at line 380 of file L1ParticleMap.h.
Referenced by candidateInCombo(), emParticleInCombo(), emParticles(), and indexCombos().
Definition at line 386 of file L1ParticleMap.h.
Referenced by candidateInCombo(), etMissParticle(), and etMissParticleInCombo().
L1IndexComboVector l1extra::L1ParticleMap::indexCombos_ [mutable, private] |
Definition at line 381 of file L1ParticleMap.h.
Referenced by candidateInCombo(), indexCombos(), jetParticleInCombo(), and jetParticles().
Definition at line 382 of file L1ParticleMap.h.
Referenced by candidateInCombo(), indexCombos(), muonParticleInCombo(), and muonParticles().
Definition at line 376 of file L1ParticleMap.h.
Referenced by candidateInCombo(), emParticleInCombo(), etMissParticleInCombo(), indexCombos(), jetParticleInCombo(), muonParticleInCombo(), numOfObjects(), and objectTypes().
bool l1extra::L1ParticleMap::triggerDecision_ [private] |
std::string L1ParticleMap::triggerNames_ [static, private] |