#include <FinalStateParticleHistogramMaker.h>
Collaboration diagram for Atlfast::FinalStateParticleHistogramMaker:
This class uses the main selectors used throughout Atlfast. The plots are designed to be made as a double-check for the truth information coming into Atlfast's Algorithms.
Definition at line 100 of file FinalStateParticleHistogramMaker.h.
Atlfast::FinalStateParticleHistogramMaker::FinalStateParticleHistogramMaker | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
Standard Athena-Algorithm Constructor
Definition at line 105 of file FinalStateParticleHistogramMaker.cxx.
00106 : Algorithm( name, pSvcLocator ){ 00107 00108 00109 // Default paths for entities in the TES 00110 m_inputLocation = "/Event/McEventCollection"; 00111 00112 declareProperty( "InputLocation", m_inputLocation ) ; 00113 00114 SetHistogramLimits(); 00115 00116 }
Atlfast::FinalStateParticleHistogramMaker::~FinalStateParticleHistogramMaker | ( | ) | [virtual] |
StatusCode Atlfast::FinalStateParticleHistogramMaker::initialize | ( | ) | [virtual] |
Standard Athena-Algorithm method
Definition at line 134 of file FinalStateParticleHistogramMaker.cxx.
00135 { 00136 00137 MsgStream log( messageService(), name() ) ; 00138 log << MSG::DEBUG << "Initialising" << endreq; 00139 00140 string identifier; 00141 HepMC_helper::MCselectorWrapper* wrapper = 0; 00142 00143 //set up MC selector. 00144 GlobalEventData* ged = GlobalEventData::Instance(); 00145 00146 AllSelectorSetups(identifier,wrapper); 00147 Z0SelectorSetups(identifier,wrapper); 00148 VisibleToCalSelectorSetups(identifier,wrapper,ged); 00149 InvisibleToAtlasSelectorSetups(identifier,wrapper,ged); 00150 IsFinalStateSelectorSetups(identifier,wrapper); 00151 BSelectorSetups(identifier,wrapper); 00152 ElectronSelectorSetups(identifier,wrapper); 00153 PhotonSelectorSetups(identifier,wrapper); 00154 MuonSelectorSetups(identifier,wrapper); 00155 00156 m_mcLocation = ged -> mcLocation(); 00157 m_tesIO = new TesIO(m_mcLocation, ged->justHardScatter()); 00158 00159 return StatusCode::SUCCESS ; 00160 00161 }
StatusCode Atlfast::FinalStateParticleHistogramMaker::execute | ( | ) | [virtual] |
Standard Athena-Algorithm method
Definition at line 376 of file FinalStateParticleHistogramMaker.cxx.
00377 { 00378 //................................ 00379 // make a message logging stream 00380 00381 MsgStream log( messageService(), name() ) ; 00382 log << MSG::DEBUG << "Executing" << endreq; 00383 00384 00385 // apply a function to each element in m_selectorContainer 00386 //SB: no side effect in the constructor of this functor, and no 00387 // useful public method to retrieve a particular "sum" variable from 00388 // the STL algorithm, so it is not useful to retrieve the output of 00389 // this for_each loop... 00390 /*FillHistograms mp =*/ 00391 std::for_each( m_selectorContainer.begin(), 00392 m_selectorContainer.end(), 00393 FillHistograms(m_tesIO,log,m_histogramContainer) ); 00394 00395 return StatusCode::SUCCESS; 00396 }
StatusCode Atlfast::FinalStateParticleHistogramMaker::finalize | ( | ) | [virtual] |
Standard Athena-Algorithm method
Definition at line 363 of file FinalStateParticleHistogramMaker.cxx.
00364 { 00365 // .. put any finalisation in here... 00366 00367 return StatusCode::SUCCESS ; 00368 }
void Atlfast::FinalStateParticleHistogramMaker::PutIntoContainer | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
void Atlfast::FinalStateParticleHistogramMaker::BookHistograms | ( | string & | ) | [private] |
Definition at line 338 of file FinalStateParticleHistogramMaker.cxx.
00338 { 00339 00340 int nHistAll = 0; 00341 vector<IHistogram1D*> &hists = m_histogramContainer[id]; 00342 string path = "/stat/finalstate_"+id+"/"; 00343 string of = " of GenParticles from '"+id+"' selectors"; 00344 00345 hists.push_back(histoSvc()->book(path,++nHistAll,"Multiplicity"+of,m_multBins,m_multLow,m_multHigh)); 00346 hists.push_back(histoSvc()->book(path,++nHistAll,"Energy"+of,m_eBins,m_eLow,m_eHigh)); 00347 hists.push_back(histoSvc()->book(path,++nHistAll,"px"+of,m_pxBins,m_pxLow,m_pxHigh)); 00348 hists.push_back(histoSvc()->book(path,++nHistAll,"py"+of,m_pyBins,m_pyLow,m_pyHigh)); 00349 hists.push_back(histoSvc()->book(path,++nHistAll,"pz"+of,m_pzBins,m_pzLow,m_pzHigh)); 00350 hists.push_back(histoSvc()->book(path,++nHistAll,"Energy sum"+of,m_eSumBins,m_eSumLow,m_eSumHigh)); 00351 hists.push_back(histoSvc()->book(path,++nHistAll,"px sum"+of,m_pxSumBins,m_pxSumLow,m_pxSumHigh)); 00352 hists.push_back(histoSvc()->book(path,++nHistAll,"py sum"+of,m_pySumBins,m_pySumLow,m_pySumHigh)); 00353 hists.push_back(histoSvc()->book(path,++nHistAll,"pz sum"+of,m_pzSumBins,m_pzSumLow,m_pzSumHigh)); 00354 00355 return; 00356 00357 }
void Atlfast::FinalStateParticleHistogramMaker::SetHistogramLimits | ( | ) | [private] |
Definition at line 163 of file FinalStateParticleHistogramMaker.cxx.
00163 { 00164 00165 declareProperty("MultiplicityBins", m_multBins = 100); 00166 declareProperty("MultiplicityLow", m_multLow = 0.); 00167 declareProperty("MultiplicityHigh", m_multHigh = 1000.); 00168 00169 declareProperty("EnergyBins", m_eBins = 100); 00170 declareProperty("EnergyLow", m_eLow = 0.); 00171 declareProperty("EnergyHigh", m_eHigh = 50.*GeV); 00172 declareProperty("PxBins", m_pxBins = 100); 00173 declareProperty("PxLow", m_pxLow = -20.*GeV); 00174 declareProperty("PxHigh", m_pxHigh = 20.*GeV); 00175 declareProperty("PyBins", m_pyBins = 100); 00176 declareProperty("PyLow", m_pyLow = -20.*GeV); 00177 declareProperty("PyHigh", m_pyHigh = 20.*GeV); 00178 declareProperty("PzBins", m_pzBins = 100); 00179 declareProperty("PzLow", m_pzLow = -20.*GeV); 00180 declareProperty("PzHigh", m_pzHigh = 20.*GeV); 00181 00182 declareProperty("EnergySumBins", m_eSumBins = 100); 00183 declareProperty("EnergySumLow", m_eSumLow = 13000.*GeV); 00184 declareProperty("EnergySumHigh", m_eSumHigh = 15000.*GeV); 00185 declareProperty("PxSumBins", m_pxSumBins = 100); 00186 declareProperty("PxSumLow", m_pxSumLow = -2.*GeV); 00187 declareProperty("PxSumHigh", m_pxSumHigh = 2.*GeV); 00188 declareProperty("PySumBins", m_pySumBins = 100); 00189 declareProperty("PySumLow", m_pySumLow = -2.*GeV); 00190 declareProperty("PySumHigh", m_pySumHigh = 2.*GeV); 00191 declareProperty("PzSumBins", m_pzSumBins = 100); 00192 declareProperty("PzSumLow", m_pzSumLow = -2.*GeV); 00193 declareProperty("PzSumHigh", m_pzSumHigh = 2.*GeV); 00194 00195 return; 00196 00197 }
void Atlfast::FinalStateParticleHistogramMaker::AllSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 199 of file FinalStateParticleHistogramMaker.cxx.
00200 { 00201 identifier = "all"; 00202 wrapper = new HepMC_helper::MCselectorWrapper( new HepMC_helper::All() ) ; 00203 BookHistograms(identifier); 00204 PutIntoContainer(identifier,wrapper); 00205 return; 00206 00207 }
void Atlfast::FinalStateParticleHistogramMaker::Z0SelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 209 of file FinalStateParticleHistogramMaker.cxx.
00210 { 00211 00212 identifier = "z0selector"; 00213 wrapper = new HepMC_helper::MCselectorWrapper( new HepMC_helper::SelectZ0(0.0, FLT_MAX)); 00214 BookHistograms(identifier); 00215 PutIntoContainer(identifier,wrapper); 00216 return; 00217 00218 }
void Atlfast::FinalStateParticleHistogramMaker::VisibleToCalSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | , | |||
GlobalEventData * | ||||
) | [private] |
Definition at line 220 of file FinalStateParticleHistogramMaker.cxx.
00222 { 00223 00224 // Same selector as used in CellMaker 00225 00226 identifier = "visibleToCal"; 00227 wrapper = new HepMC_helper::MCselectorWrapper(ged -> visibleToCal()); 00228 BookHistograms(identifier); 00229 PutIntoContainer(identifier,wrapper); 00230 return; 00231 00232 }
void Atlfast::FinalStateParticleHistogramMaker::InvisibleToAtlasSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | , | |||
GlobalEventData * | ||||
) | [private] |
Definition at line 234 of file FinalStateParticleHistogramMaker.cxx.
00236 { 00237 00238 // Same selector as used in EventHeaderMaker::escapedMomentum 00239 00240 identifier = "invisibleToAtlas"; 00241 wrapper = new HepMC_helper::MCselectorWrapper(ged -> visibleToAtlas()); 00242 BookHistograms(identifier); 00243 PutIntoContainer(identifier,wrapper); 00244 return; 00245 00246 }
void Atlfast::FinalStateParticleHistogramMaker::IsFinalStateSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 248 of file FinalStateParticleHistogramMaker.cxx.
00249 { 00250 identifier = "isFinalState"; 00251 wrapper = new HepMC_helper::MCselectorWrapper(new HepMC_helper::IsFinalState() ); 00252 BookHistograms(identifier); 00253 PutIntoContainer(identifier,wrapper); 00254 return; 00255 00256 }
void Atlfast::FinalStateParticleHistogramMaker::BSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 258 of file FinalStateParticleHistogramMaker.cxx.
00259 { 00260 00261 identifier = "bSelector"; 00262 wrapper = 00263 new HepMC_helper::MCselectorWrapper( new HepMC_helper::SelectJetTag (ParticleCodes::BQUARK, 00264 5.0*GeV, 00265 2.5)); 00266 BookHistograms(identifier); 00267 PutIntoContainer(identifier,wrapper); 00268 return; 00269 00270 }
void Atlfast::FinalStateParticleHistogramMaker::ElectronSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 272 of file FinalStateParticleHistogramMaker.cxx.
00273 { 00274 00275 // Same selectors as used in DefaultReconstructedParticleMaker/ElectronMaker 00276 00277 identifier = "electronSelector"; 00278 DefaultReconstructedParticleSelectorSetups(wrapper,11,0.0*GeV,100.0); // Current defaults 00279 BookHistograms(identifier); 00280 PutIntoContainer(identifier,wrapper); 00281 return; 00282 00283 }
void Atlfast::FinalStateParticleHistogramMaker::PhotonSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 285 of file FinalStateParticleHistogramMaker.cxx.
00286 { 00287 00288 // Same selectors as used in DefaultReconstructedParticleMaker/PhotonMaker 00289 00290 identifier = "photonSelector"; 00291 DefaultReconstructedParticleSelectorSetups(wrapper,22,0.0*GeV,100.0); // Current defaults 00292 BookHistograms(identifier); 00293 PutIntoContainer(identifier,wrapper); 00294 return; 00295 00296 }
void Atlfast::FinalStateParticleHistogramMaker::MuonSelectorSetups | ( | string & | , | |
HepMC_helper::MCselectorWrapper * | ||||
) | [private] |
Definition at line 298 of file FinalStateParticleHistogramMaker.cxx.
00299 { 00300 00301 // Same selectors as used in DefaultReconstructedParticleMaker/MuonMaker 00302 00303 identifier = "muonSelector"; 00304 DefaultReconstructedParticleSelectorSetups(wrapper,13,0.5*GeV,100.0); // Current defaults 00305 BookHistograms(identifier); 00306 PutIntoContainer(identifier,wrapper); 00307 return; 00308 00309 }
void Atlfast::FinalStateParticleHistogramMaker::DefaultReconstructedParticleSelectorSetups | ( | HepMC_helper::MCselectorWrapper *& | , | |
int | particleType, | |||
double | ptMin, | |||
double | etaMax | |||
) | [private] |
Definition at line 312 of file FinalStateParticleHistogramMaker.cxx.
00312 { 00313 00314 // Common code for all DefaultReconstructedParticles 00315 00316 HepMC_helper::IMCselector* typeSelector = 00317 new HepMC_helper::SelectType(particleType); 00318 HepMC_helper::IMCselector* kineSelector = 00319 new HepMC_helper::MCCuts(ptMin, etaMax); 00320 HepMC_helper::IMCselector* fstaSelector = 00321 new HepMC_helper::IsFinalState(); 00322 00323 vector<HepMC_helper::IMCselector*> selectors; 00324 selectors.push_back(fstaSelector); 00325 selectors.push_back(typeSelector); 00326 selectors.push_back(kineSelector); 00327 00328 HepMC_helper::NCutter* ncutter = new HepMC_helper::NCutter(selectors); 00329 wrapper = new HepMC_helper::MCselectorWrapper(ncutter); 00330 00331 delete typeSelector; 00332 delete kineSelector; 00333 delete fstaSelector; 00334 return; 00335 00336 }
std::string Atlfast::FinalStateParticleHistogramMaker::m_inputLocation [private] |
TES input location
Definition at line 147 of file FinalStateParticleHistogramMaker.h.
Definition at line 148 of file FinalStateParticleHistogramMaker.h.
std::string Atlfast::FinalStateParticleHistogramMaker::m_mcLocation [private] |
Definition at line 150 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_multBins [private] |
Definition at line 153 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_multLow [private] |
Definition at line 153 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_multHigh [private] |
Definition at line 153 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_eBins [private] |
Definition at line 154 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_eLow [private] |
Definition at line 154 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_eHigh [private] |
Definition at line 154 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pxBins [private] |
Definition at line 155 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pxLow [private] |
Definition at line 155 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pxHigh [private] |
Definition at line 155 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pyBins [private] |
Definition at line 156 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pyLow [private] |
Definition at line 156 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pyHigh [private] |
Definition at line 156 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pzBins [private] |
Definition at line 157 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pzLow [private] |
Definition at line 157 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pzHigh [private] |
Definition at line 157 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_eSumBins [private] |
Definition at line 158 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_eSumLow [private] |
Definition at line 158 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_eSumHigh [private] |
Definition at line 158 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pxSumBins [private] |
Definition at line 159 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pxSumLow [private] |
Definition at line 159 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pxSumHigh [private] |
Definition at line 159 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pySumBins [private] |
Definition at line 160 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pySumLow [private] |
Definition at line 160 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pySumHigh [private] |
Definition at line 160 of file FinalStateParticleHistogramMaker.h.
int Atlfast::FinalStateParticleHistogramMaker::m_pzSumBins [private] |
Definition at line 161 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pzSumLow [private] |
Definition at line 161 of file FinalStateParticleHistogramMaker.h.
double Atlfast::FinalStateParticleHistogramMaker::m_pzSumHigh [private] |
Definition at line 161 of file FinalStateParticleHistogramMaker.h.
vector< pair< string, HepMC_helper::MCselectorWrapper* > > Atlfast::FinalStateParticleHistogramMaker::m_selectorContainer [private] |
Vector with all MCselectorWrapper pointers and an identifying string
Definition at line 164 of file FinalStateParticleHistogramMaker.h.
map< string, vector<IHistogram1D*> > Atlfast::FinalStateParticleHistogramMaker::m_histogramContainer [private] |
Definition at line 165 of file FinalStateParticleHistogramMaker.h.