#include <EventHeaderMaker.h>
Collaboration diagram for Atlfast::EventHeaderMaker:
Public Member Functions | |
EventHeaderMaker (const std::string &name, ISvcLocator *pSvcLocator) | |
virtual | ~EventHeaderMaker () |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Private Member Functions | |
template<class Collection> | |
int | numberInList (std::string tesAddress) |
int | numberJetFlavor (std::string tesAddress, int) |
HepLorentzVector | missingMomentum (MsgStream &, double &) |
HepLorentzVector | escapedMomentum (MsgStream &) |
template<class Collection> | |
HepLorentzVector | momentumSum (std::string tesAddress) |
template<class Type> | |
HepLorentzVector | smearAndSum (std::string tesAddress, Type dummy) |
template<class Collection, class AssType> | |
HepLorentzVector | assocMomentumSum (std::string tesAddress) |
template<class Collection> | |
double | transverseEnergySum (std::string tesAddress) |
template<class Collection, class AssType> | |
double | assocTransverseEnergySum (std::string tesAddress) |
double | haloSum (std::string tesAddress) |
HepLorentzVector | haloVectorSum (std::string tesAddress) |
HepLorentzVector | unusedClusterSum () |
HepLorentzVector | unusedMuonSum () |
HepLorentzVector | unusedCellSum () |
Private Attributes | |
std::string | m_electronLocation |
std::string | m_photonLocation |
std::string | m_isolatedMuonLocation |
std::string | m_nonIsolatedMuonLocation |
std::string | m_jetLocation |
std::string | m_cellLocation |
std::string | m_clusterLocation |
std::string | m_outputLocation |
std::string | m_missingMomentumLocation |
std::string | m_mcLocation |
bool | m_testMode |
bool | m_addHalos |
bool | m_adjustMissETForIsolation |
double | m_beamEnergy |
std::vector< int > | m_escapingParticles |
int | m_lumi |
double | m_barrelForwardEta |
TesIO * | m_tesIO |
HepMC_helper::IMCselector * | m_visibleToAtlas |
This must be run as the final algorithm in the Atlfast suite as it requires the information from all the earlier makers.
EventHeaderMaker sequence
Definition at line 87 of file EventHeaderMaker.h.
Atlfast::EventHeaderMaker::EventHeaderMaker | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
Standard Athena-Algorithm Constructor
Definition at line 55 of file EventHeaderMaker.cxx.
00056 : Algorithm( name, pSvcLocator ), 00057 m_tesIO(0), 00058 m_visibleToAtlas(0) 00059 { 00060 00061 // Default paths for entities in the TES 00062 m_electronLocation = "/Event/AtlfastIsolatedElectrons"; 00063 m_photonLocation = "/Event/AtlfastIsolatedPhotons"; 00064 m_isolatedMuonLocation = "/Event/AtlfastIsolatedMuons"; 00065 m_nonIsolatedMuonLocation = "/Event/AtlfastNonIsolatedMuons"; 00066 m_jetLocation = "/Event/AtlfastJets"; 00067 m_cellLocation = "/Event/AtlfastCells"; 00068 m_clusterLocation = "/Event/AtlfastClusters"; 00069 m_outputLocation = "/Event/AtlfastEventHeader"; 00070 m_missingMomentumLocation = "/Event/AtlfastMissingMomentum"; 00071 m_beamEnergy = 7000.0*GeV; 00072 m_testMode = false; 00073 m_addHalos = false; 00074 m_adjustMissETForIsolation = true; 00075 00076 declareProperty( "MissingMomentumLocation", m_missingMomentumLocation ) ; 00077 declareProperty( "ElectronLocation", m_electronLocation ) ; 00078 declareProperty( "PhotonLocation", m_photonLocation ); 00079 declareProperty( "IsolatedMuonLocation", m_isolatedMuonLocation ); 00080 declareProperty( "NonIsolatedMuonLocation", m_nonIsolatedMuonLocation ); 00081 declareProperty( "JetLocation", m_jetLocation ); 00082 declareProperty( "OutputLocation", m_outputLocation ); 00083 declareProperty( "BeamEnergy", m_beamEnergy ); 00084 declareProperty( "AddHalos", m_addHalos ); 00085 00086 declareProperty( "TestMode", m_testMode ) ; 00087 00088 00089 00090 }
Atlfast::EventHeaderMaker::~EventHeaderMaker | ( | ) | [virtual] |
StatusCode Atlfast::EventHeaderMaker::initialize | ( | ) |
Standard Athena-Algorithm method
Definition at line 103 of file EventHeaderMaker.cxx.
00104 { 00105 // .. put any initialisation in here... 00106 MsgStream log(messageService(), name()); 00107 log << MSG::DEBUG << "in initialize()" << endreq; 00108 00109 //set up the list of particles which are considered as "escaping" 00110 m_escapingParticles.push_back(ParticleCodes::NU_E); 00111 m_escapingParticles.push_back(ParticleCodes::NU_MU); 00112 m_escapingParticles.push_back(ParticleCodes::NU_TAU); 00113 00114 00115 //get the Global Event Data from singleton pattern 00116 GlobalEventData* ged = GlobalEventData::Instance(); 00117 m_visibleToAtlas = ged -> visibleToAtlas(); 00118 m_lumi = ged -> lumi(); 00119 m_barrelForwardEta = ged -> barrelForwardEta(); 00120 m_mcLocation = ged -> mcLocation(); 00121 m_adjustMissETForIsolation = ged->adjustMissETForIsolation(); 00122 00123 m_tesIO = new TesIO(m_mcLocation, ged->justHardScatter()); 00124 00125 HeaderPrinter hp("Atlfast EventHeader Maker:", log); 00126 hp.add("TestMode ", m_testMode); 00127 hp.add("EndCap Begins at (eta) ", m_barrelForwardEta); 00128 hp.add("Luminosity ", m_lumi); 00129 hp.add("Beam Energy ", m_beamEnergy); 00130 hp.add("MC location ", m_mcLocation); 00131 hp.add("Electron Location ", m_electronLocation); 00132 hp.add("Photon Location ", m_photonLocation); 00133 hp.add("Isolated Muon Location ", m_isolatedMuonLocation); 00134 hp.add("Non-Isolated Muon Location ", m_nonIsolatedMuonLocation); 00135 hp.add("Jet Location ", m_jetLocation); 00136 hp.add("Cell Location ", m_cellLocation); 00137 hp.add("Cluster Location ", m_clusterLocation); 00138 hp.add("Unused cell+cluster sum ", m_missingMomentumLocation); 00139 hp.add("Output Location ", m_outputLocation); 00140 hp.print(); 00141 00142 00143 00144 00145 return StatusCode::SUCCESS ; 00146 }
StatusCode Atlfast::EventHeaderMaker::execute | ( | ) |
Standard Athena-Algorithm method
Definition at line 163 of file EventHeaderMaker.cxx.
00164 { 00165 00166 //................................ 00167 // make a message logging stream 00168 00169 MsgStream log( messageService(), name() ) ; 00170 log << MSG::DEBUG << "Executing " << endreq; 00171 std::string mess; 00172 00173 00174 00175 // 00176 // Check each particle list in turn and get the number of entries 00177 // 00178 int nElectrons = 00179 numberInList<ReconstructedParticleCollection>(m_electronLocation); 00180 int nPhotons = 00181 numberInList<ReconstructedParticleCollection>(m_photonLocation); 00182 int nIsolatedMuons = 00183 numberInList<ReconstructedParticleCollection>(m_isolatedMuonLocation); 00184 int nNonIsolatedMuons = 00185 numberInList<ReconstructedParticleCollection>(m_nonIsolatedMuonLocation); 00186 int nJets = numberInList<JetCollection>(m_jetLocation); 00187 int nBJets = numberJetFlavor(m_jetLocation, 00188 ParticleCodes::BQUARK); 00189 int nCJets = numberJetFlavor(m_jetLocation, 00190 ParticleCodes::CQUARK); 00191 int nTauJets = numberJetFlavor(m_jetLocation, 00192 ParticleCodes::TAU); 00193 nTauJets += numberJetFlavor(m_jetLocation, 00194 -ParticleCodes::TAU); 00195 00196 log << MSG::DEBUG << "Electrons: " << nElectrons << endreq; 00197 log << MSG::DEBUG << "Photons: " << nPhotons << endreq; 00198 log << MSG::DEBUG << "IsolatedMuons: " << nIsolatedMuons << endreq; 00199 log << MSG::DEBUG << "NonIsolatedMuons: " << nNonIsolatedMuons << endreq; 00200 log << MSG::DEBUG << "Jets: " << nJets << endreq; 00201 00202 00203 // Event Shape variable calculations 00204 00205 double jetCircularity = 0.0; //FIXME not written yet 00206 double eventCircularity = 0.0; //FIXME not written yet 00207 double thrust = 0.0; //FIXME not written yet 00208 double oblateness = 0.0; //FIXME not written yet 00209 00210 // Cumulative ET sum 00211 double sumET = 0.0; 00212 00213 //missing momentum and sumET 00214 HepLorentzVector pMiss = missingMomentum(log,sumET); 00215 00216 log << MSG::DEBUG << "Missing momentum " <<pMiss<<endreq; 00217 00218 HepLorentzVector pEscaped = escapedMomentum(log); 00219 00220 log << MSG::DEBUG << "Escaped momentum " << pEscaped<<endreq; 00221 00222 //get a container of weight containers for this event 00223 MCweightContainerCollection weightCollections; 00224 TesIoStat stat = m_tesIO->getMCweightContainers(weightCollections); 00225 if(!stat){ 00226 log << MSG::ERROR <<"Problem getting b-quarks" << endreq; 00227 return stat; 00228 } 00229 00230 EventHeader* header = 00231 new EventHeader( 00232 nElectrons, 00233 nIsolatedMuons, 00234 nNonIsolatedMuons, 00235 nPhotons, 00236 nJets, 00237 nBJets, 00238 nCJets, 00239 nTauJets, 00240 jetCircularity, 00241 eventCircularity, 00242 thrust, 00243 oblateness, 00244 pMiss, 00245 sumET, 00246 pEscaped, 00247 weightCollections 00248 ); 00249 00250 stat = m_tesIO->store(header,m_outputLocation) ; 00251 std::string message = stat? "Stored Evt Header":"Failed to Evt Header"; 00252 log<<MSG::DEBUG<<message<<endreq; 00253 return stat.status(); 00254 00255 }
StatusCode Atlfast::EventHeaderMaker::finalize | ( | ) |
Standard Athena-Algorithm method
Definition at line 151 of file EventHeaderMaker.cxx.
00152 { 00153 // .. put any finalisation in here... 00154 MsgStream log( messageService(), name() ) ; 00155 log << MSG::INFO << "finalizing " << endreq; 00156 00157 return StatusCode::SUCCESS ; 00158 }
int Atlfast::EventHeaderMaker::numberInList | ( | std::string | tesAddress | ) | [inline, private] |
finds out how many entries are in a TES list
Definition at line 205 of file EventHeaderMaker.h.
00205 { 00206 const Collection* dh(0); 00207 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in numberInList"; 00208 return dh->size(); 00209 // Collection aList; 00210 // if( !m_tesIO->copy<(aList, tesAddress) ) throw "Error in numberInList"; 00211 //if( !m_tesIO->get(aList) ) throw "Error in numberInList"; 00212 // return aList.size(); 00213 }
int Atlfast::EventHeaderMaker::numberJetFlavor | ( | std::string | tesAddress, | |
int | ||||
) | [inline, private] |
finds out how many numbers of jets by flavor
Definition at line 219 of file EventHeaderMaker.h.
00221 { 00222 std::vector<Jet*> theJets; 00223 int temp=0; 00224 if(m_tesIO->copy<JetCollection >(theJets, tesAddress)){ 00225 //if(m_tesIO->get(theJets)){ 00226 std::vector<Jet*>::const_iterator jet = theJets.begin(); 00227 for (; jet != theJets.end(); ++jet) { 00228 if( fabs((*jet)->pdg_id()) == flavor ) ++temp; 00229 } 00230 } 00231 return temp; 00232 }
HepLorentzVector Atlfast::EventHeaderMaker::missingMomentum | ( | MsgStream & | , | |
double & | ||||
) | [private] |
calculate the reconstructed missing momentum
Definition at line 260 of file EventHeaderMaker.cxx.
00260 { 00261 00262 HepLorentzVector unused(0., 0., 0., 0.); 00263 const MissingMomentum* mm(0); 00264 TesIoStat stat = m_tesIO->getDH(mm,m_missingMomentumLocation ); 00265 if(!stat){ 00266 log << MSG::WARNING<<"Could Not Find Missing momentum in TES"<<endreq; 00267 return unused; 00268 } 00269 log << MSG::DEBUG<<"Found Missing Momentum in TES"<<endreq; 00270 00271 unused = mm->momentum(); 00272 00273 HepLorentzVector temp(0.0,0.0,0.0,0.0); 00274 00275 temp = unused 00276 + momentumSum<ReconstructedParticleCollection> (m_electronLocation) 00277 + momentumSum<ReconstructedParticleCollection> (m_photonLocation) 00278 + momentumSum<ReconstructedParticleCollection> (m_isolatedMuonLocation) 00279 + momentumSum<JetCollection> (m_jetLocation) 00280 + momentumSum<ReconstructedParticleCollection> (m_nonIsolatedMuonLocation) 00281 - assocMomentumSum<JetCollection, ReconstructedParticle> (m_jetLocation); 00282 00283 00284 double unused_sumET = mm->sumET(); 00285 sumET = unused_sumET + 00286 + transverseEnergySum<ReconstructedParticleCollection> (m_electronLocation) 00287 + transverseEnergySum<ReconstructedParticleCollection> (m_photonLocation) 00288 + transverseEnergySum<ReconstructedParticleCollection> (m_isolatedMuonLocation) 00289 + transverseEnergySum<JetCollection> (m_jetLocation) 00290 + transverseEnergySum<ReconstructedParticleCollection> (m_nonIsolatedMuonLocation) 00291 - assocTransverseEnergySum<JetCollection, ReconstructedParticle> (m_jetLocation); 00292 00293 00294 // Add halos if requested and if the missing ET has not already been adjusted 00295 // to treat isolation problem 00296 if (m_addHalos && !m_adjustMissETForIsolation){ 00297 log << MSG::DEBUG <<"Adding halo values to missing ET, sumET" << endreq; 00298 temp += haloVectorSum(m_electronLocation) + haloVectorSum(m_photonLocation); 00299 sumET += haloSum(m_electronLocation) + haloSum(m_photonLocation); 00300 } 00301 00302 log << MSG::DEBUG<<"Total Imbalanced momentum = " << temp 00303 << ", total sum of scalar ETs = " << sumET << endreq; 00304 00305 if(m_testMode){ 00306 HepLorentzVector totCluster = 00307 momentumSum<IClusterCollection> (m_clusterLocation); 00308 00309 HepLorentzVector clusterAssE = 00310 assocMomentumSum<ReconstructedParticleCollection, Cluster> 00311 (m_electronLocation); 00312 HepLorentzVector clusterAssE2 = 00313 assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00314 (m_electronLocation); 00315 00316 HepLorentzVector clusterAssP = 00317 assocMomentumSum<ReconstructedParticleCollection, Cluster> 00318 (m_photonLocation); 00319 HepLorentzVector clusterAssP2 = 00320 assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00321 (m_photonLocation); 00322 00323 HepLorentzVector clusterAssM = 00324 assocMomentumSum<ReconstructedParticleCollection, Cluster> 00325 (m_isolatedMuonLocation); 00326 HepLorentzVector clusterAssM2 = 00327 assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00328 (m_isolatedMuonLocation); 00329 00330 HepLorentzVector clusterAssJ = 00331 assocMomentumSum<JetCollection, Cluster>(m_jetLocation); 00332 HepLorentzVector clusterAssJ2 = 00333 assocMomentumSum<JetCollection, KtCluster>(m_jetLocation); 00334 00335 HepLorentzVector clusterDiff = totCluster- 00336 clusterAssJ- 00337 clusterAssE- 00338 clusterAssM- 00339 clusterAssP- 00340 clusterAssJ2- 00341 clusterAssE2- 00342 clusterAssM2- 00343 clusterAssP2; 00344 00345 HepLorentzVector totCell = 00346 momentumSum<ITwoCptCellCollection>(m_cellLocation); 00347 00348 HepLorentzVector cellAssCluster = 00349 assocMomentumSum<IClusterCollection, TwoCptCell>(m_clusterLocation); 00350 00351 HepLorentzVector cellDiff = totCell-cellAssCluster; 00352 00353 HepLorentzVector diffS = clusterDiff+cellDiff-unused; 00354 00355 00356 00357 log<<MSG::DEBUG<<"Total cluster "<<totCluster<<endreq; 00358 log<<MSG::DEBUG<<"Clus Ass Jet "<<clusterAssJ+clusterAssJ2<<endreq; 00359 log<<MSG::DEBUG<<"Clus Ass El "<<clusterAssE+clusterAssE2<<endreq; 00360 log<<MSG::DEBUG<<"Clus Ass Mu "<<clusterAssM+clusterAssM2<<endreq; 00361 log<<MSG::DEBUG<<"Clus Ass Ph "<<clusterAssP+clusterAssP2<<endreq; 00362 log<<MSG::DEBUG<<"Clus diff "<<clusterDiff<<endreq; 00363 log<<MSG::DEBUG<<"Total Cell "<<totCell<<endreq; 00364 log<<MSG::DEBUG<<"Cell Ass Clus "<<cellAssCluster<<endreq; 00365 log<<MSG::DEBUG<<"Clus diff "<<cellDiff<<endreq; 00366 log<<MSG::DEBUG<<"Cell+Clus diff "<<cellDiff<<endreq; 00367 log<<MSG::DEBUG<<"Unused "<<unused<<endreq; 00368 log<<MSG::DEBUG<<"diff "<<diffS<<endreq; 00369 00370 log<<MSG::DEBUG<<endreq; 00371 00372 assert( diffS.rho() <0.001); 00373 00374 00375 00376 00377 00378 HepLorentzVector temp2 = 00379 momentumSum<ReconstructedParticleCollection> (m_electronLocation) 00380 + momentumSum<ReconstructedParticleCollection> (m_photonLocation) 00381 + momentumSum<ReconstructedParticleCollection> (m_isolatedMuonLocation) 00382 + momentumSum<JetCollection> (m_jetLocation) 00383 + momentumSum<IClusterCollection> (m_clusterLocation) 00384 + momentumSum<ITwoCptCellCollection> (m_cellLocation) 00385 + momentumSum<ReconstructedParticleCollection> (m_nonIsolatedMuonLocation) 00386 00387 - assocMomentumSum<ReconstructedParticleCollection, Cluster> 00388 (m_electronLocation) 00389 - assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00390 (m_electronLocation) 00391 00392 - assocMomentumSum<ReconstructedParticleCollection, Cluster> 00393 (m_photonLocation) 00394 - assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00395 (m_photonLocation) 00396 00397 - assocMomentumSum<ReconstructedParticleCollection, Cluster> 00398 (m_nonIsolatedMuonLocation) 00399 - assocMomentumSum<ReconstructedParticleCollection, KtCluster> 00400 (m_nonIsolatedMuonLocation) 00401 00402 - assocMomentumSum<JetCollection, Cluster> 00403 (m_jetLocation) 00404 - assocMomentumSum<JetCollection, KtCluster> 00405 (m_jetLocation) 00406 00407 - assocMomentumSum<JetCollection, ReconstructedParticle> 00408 (m_jetLocation) 00409 00410 - assocMomentumSum<IClusterCollection, Cell> 00411 (m_clusterLocation); 00412 00413 00414 assert( (temp-temp2).rho() <0.001); 00415 } 00416 00417 // calculate missing momentum from the reconstructed sum of momenta: 00418 // 00419 temp.setPx( -temp.px() ); 00420 temp.setPy( -temp.py() ); 00421 temp.setPz( -temp.pz() ); 00422 temp.setE( 2.0*m_beamEnergy - temp.e() ); 00423 00424 return temp; 00425 }
HepLorentzVector Atlfast::EventHeaderMaker::escapedMomentum | ( | MsgStream & | ) | [private] |
calculated the momentum of escaping particles from MC truth
Definition at line 432 of file EventHeaderMaker.cxx.
00432 { 00433 00434 HepLorentzVector temp(0.0,0.0,0.0,0.0); 00435 00436 MCparticleCollection mcParticles; 00437 TesIoStat stat = m_tesIO->getMC( mcParticles, m_visibleToAtlas ) ; 00438 std::string mess = 00439 stat? "MC particles retrieved":"MC particles retrieve failed"; 00440 log<<MSG::DEBUG<<mess<<endreq; 00441 00442 00443 MCparticleCollection::const_iterator part = mcParticles.begin(); 00444 for (;part != mcParticles.end(); ++part) { 00445 temp += (*part)->momentum(); 00446 } 00447 00448 return temp; 00449 }
HepLorentzVector Atlfast::EventHeaderMaker::momentumSum | ( | std::string | tesAddress | ) | [inline, private] |
returns the summed momentum of a list of IKinematic objects in the TES
Definition at line 238 of file EventHeaderMaker.h.
00238 { 00239 // 00240 // Collection aList; 00241 // 00242 // if(!m_tesIO->copy 00243 // <Collection, 00244 // Collection> 00245 // (aList, tesAddress) ){throw "Error in momentumSum"; 00246 // } 00247 // 00248 // HepLorentzVector temp(0.0,0.0,0.0,0.0); 00249 // typename Collection::const_iterator iter = aList.begin(); 00250 // 00251 // for (; iter != aList.end(); ++iter) temp += (*iter)->momentum(); 00252 HepLorentzVector temp(0.0,0.0,0.0,0.0); 00253 00254 const Collection* dh(0); 00255 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in numberInList"; 00256 00257 typename Collection::const_iterator iter = dh->begin(); 00258 typename Collection::const_iterator end = dh->end(); 00259 00260 for (; iter != end; ++iter) temp += (*iter)->momentum(); 00261 00262 return temp; 00263 }
HepLorentzVector Atlfast::EventHeaderMaker::smearAndSum | ( | std::string | tesAddress, | |
Type | dummy | |||
) | [private] |
returns the summed momentum of a list of IKinematic objects in the TES
HepLorentzVector Atlfast::EventHeaderMaker::assocMomentumSum | ( | std::string | tesAddress | ) | [inline, private] |
returns the summed momentum of a list of associated IKinematic objects in the TES
Definition at line 269 of file EventHeaderMaker.h.
00269 { 00270 00271 HepLorentzVector temp(0.0,0.0,0.0,0.0); 00272 00273 const Collection* dh(0); 00274 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in assocMomentumSum"; 00275 00276 MomentumSumVisitor msv = ContainerAssocsDispatcher( 00277 dh->begin(), 00278 dh->end(), 00279 MomentumSumVisitor() 00280 ); 00281 00282 return msv.momSum(AssType()); 00283 }
double Atlfast::EventHeaderMaker::transverseEnergySum | ( | std::string | tesAddress | ) | [inline, private] |
returns the summed ET of a list of IKinematic objects in the TES
Definition at line 289 of file EventHeaderMaker.h.
00289 { 00290 00291 double temp(0.); 00292 00293 const Collection* dh(0); 00294 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in numberInList"; 00295 00296 typename Collection::const_iterator iter = dh->begin(); 00297 typename Collection::const_iterator end = dh->end(); 00298 00299 for (; iter != end; ++iter){ 00300 temp += (*iter)->eT(); 00301 } 00302 00303 return temp; 00304 }
double Atlfast::EventHeaderMaker::assocTransverseEnergySum | ( | std::string | tesAddress | ) | [inline, private] |
returns the summed ET of a list of associated IKinematic objects in the TES
Definition at line 310 of file EventHeaderMaker.h.
00310 { 00311 00312 const Collection* dh(0); 00313 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in assocMomentumSum"; 00314 00315 TransverseEnergySumVisitor tesv = 00316 ContainerAssocsDispatcher( dh->begin(), dh->end(), TransverseEnergySumVisitor() ); 00317 00318 return tesv.sumET(AssType()); 00319 }
double Atlfast::EventHeaderMaker::haloSum | ( | std::string | tesAddress | ) | [inline, private] |
Definition at line 324 of file EventHeaderMaker.h.
00324 { 00325 00326 double temp(0.); 00327 00328 const ReconstructedParticleCollection* dh(0); 00329 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in numberInList"; 00330 00331 ReconstructedParticleCollection::const_iterator iter = dh->begin(); 00332 ReconstructedParticleCollection::const_iterator end = dh->end(); 00333 00334 for (; iter != end; ++iter) 00335 temp += (*iter)->halo(); 00336 00337 return temp; 00338 }
HepLorentzVector Atlfast::EventHeaderMaker::haloVectorSum | ( | std::string | tesAddress | ) | [inline, private] |
Definition at line 343 of file EventHeaderMaker.h.
00343 { 00344 00345 HepLorentzVector temp(0.,0.,0.,0.); 00346 00347 const ReconstructedParticleCollection* dh(0); 00348 if( !m_tesIO->getDH(dh, tesAddress) ) throw "Error in numberInList"; 00349 00350 ReconstructedParticleCollection::const_iterator iter = dh->begin(); 00351 ReconstructedParticleCollection::const_iterator end = dh->end(); 00352 00353 for (; iter != end; ++iter) 00354 temp += (*iter)->halovector(); 00355 00356 return temp; 00357 }
HepLorentzVector Atlfast::EventHeaderMaker::unusedClusterSum | ( | ) | [private] |
summed momentum of unused clusters
HepLorentzVector Atlfast::EventHeaderMaker::unusedMuonSum | ( | ) | [private] |
summed momentum of unused non-isolated muons
HepLorentzVector Atlfast::EventHeaderMaker::unusedCellSum | ( | ) | [private] |
smeared + summed p of unused cells above cut
std::string Atlfast::EventHeaderMaker::m_electronLocation [private] |
Definition at line 170 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_photonLocation [private] |
Definition at line 171 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_isolatedMuonLocation [private] |
Definition at line 172 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_nonIsolatedMuonLocation [private] |
Definition at line 173 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_jetLocation [private] |
Definition at line 174 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_cellLocation [private] |
Definition at line 175 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_clusterLocation [private] |
Definition at line 176 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_outputLocation [private] |
Definition at line 177 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_missingMomentumLocation [private] |
Definition at line 178 of file EventHeaderMaker.h.
std::string Atlfast::EventHeaderMaker::m_mcLocation [private] |
Definition at line 181 of file EventHeaderMaker.h.
bool Atlfast::EventHeaderMaker::m_testMode [private] |
Definition at line 183 of file EventHeaderMaker.h.
bool Atlfast::EventHeaderMaker::m_addHalos [private] |
Definition at line 184 of file EventHeaderMaker.h.
bool Atlfast::EventHeaderMaker::m_adjustMissETForIsolation [private] |
Definition at line 185 of file EventHeaderMaker.h.
double Atlfast::EventHeaderMaker::m_beamEnergy [private] |
Definition at line 186 of file EventHeaderMaker.h.
std::vector<int> Atlfast::EventHeaderMaker::m_escapingParticles [private] |
Definition at line 187 of file EventHeaderMaker.h.
int Atlfast::EventHeaderMaker::m_lumi [private] |
Definition at line 190 of file EventHeaderMaker.h.
double Atlfast::EventHeaderMaker::m_barrelForwardEta [private] |
Definition at line 195 of file EventHeaderMaker.h.
TesIO* Atlfast::EventHeaderMaker::m_tesIO [private] |
Definition at line 197 of file EventHeaderMaker.h.
Definition at line 198 of file EventHeaderMaker.h.