#include <G4StepStatistics.h>
Public Member Functions | |
G4StepStatistics (const edm::ParameterSet &pSet) | |
void | update (const EndOfEvent *iRun) |
void | update (const G4Step *iStep) |
Private Attributes | |
unsigned int | Event |
edm::Service< TFileService > | fs |
std::map< const StepID, unsigned int * > | G4StatsMap |
Int_t | G4StepFreq [100000] |
TTree * | G4StepTree |
bool | m_verbose |
Int_t | PDGID [100000] |
TClonesArray * | Process |
TClonesArray * | Region |
Definition at line 131 of file G4StepStatistics.h.
G4StepStatistics::G4StepStatistics | ( | const edm::ParameterSet & | pSet | ) | [inline] |
Definition at line 143 of file G4StepStatistics.h.
References fs, G4StepFreq, G4StepTree, PDGID, Process, and Region.
: m_verbose(pSet.getUntrackedParameter<bool>("verbose",false)), Event(0) { //Adding TFile Service output G4StepTree = fs->make<TTree>("G4StepTree","G4Step Tree "); G4StepTree->Branch("Event",&Event,"Event/I"); G4StepTree->Branch("PDGID",&PDGID,"PDGID[100000]/I"); Region = new TClonesArray("TObjString",100000); G4StepTree->Branch("Region",&Region); Process = new TClonesArray("TObjString",100000); G4StepTree->Branch("Process",&Process); G4StepTree->Branch("G4StepFreq",&G4StepFreq,"G4StepFreq[100000]/I"); }
void G4StepStatistics::update | ( | const G4Step * | iStep | ) | [inline] |
Definition at line 165 of file G4StepStatistics.h.
References gather_cfg::cout, G4StatsMap, StepID::GetParticlePDGID(), StepID::GetProcessName(), StepID::GetRegionName(), and m_verbose.
{ std::cout <<"++ signal G4Step " ; //Dump the relevant information from the G4 step in the object mysteptest StepID mysteptest(iStep); //Add the StepID to the map, or increment if it already exists: if ( G4StatsMap.find(mysteptest) == G4StatsMap.end() ) { //Allocating new memory for a pointer to associate with the key mysteptest //in our map. Initializing it to 1,will be incremented working on the value of the pointer. unsigned int* MyValue = new unsigned int(1); //Inserting the new key,value pair G4StatsMap.insert(std::make_pair(mysteptest, MyValue)); } else { //Incrementing the value of the pointer by 1 *G4StatsMap[mysteptest] = *G4StatsMap[mysteptest] + 1; } //If the verbose flag is set, then dump the information if (m_verbose) { std::cout << " StepID RegionName: "<< mysteptest.GetRegionName(); std::cout << " StepID ProcessName: "<< mysteptest.GetProcessName(); std::cout << " StepID ParticlePDGID: "<< mysteptest.GetParticlePDGID(); } std::cout<<std::endl; }
void G4StepStatistics::update | ( | const EndOfEvent * | iRun | ) | [inline] |
Definition at line 199 of file G4StepStatistics.h.
References gather_cfg::cout, G4StatsMap, G4StepFreq, G4StepTree, getHLTprescales::index, m_verbose, PDGID, and launcher::step.
{ std::cout <<"++ signal EndOfEvent " <<std::endl; Event++; //Dumping the map in the log if verbose is chosen: if(m_verbose) { std::cout <<" G4StatsMap size is: "<<G4StatsMap.size()<<std::endl; } int index(0); for (std::map<const StepID,unsigned int*>::const_iterator step = G4StatsMap.begin(); step != G4StatsMap.end(); ++step, ++index){ if(m_verbose) { std::cout <<" G4StatsMap step is: "<<step->first.GetRegionName()<<" "<<step->first.GetProcessName()<<" "<<step->first.GetParticlePDGID();//<<" "<<step->first.GetTrackID() ; std::cout <<" Number of such steps: "<< *step->second <<std::endl; } //Rolling the map into 5 "arrays", containing the StepID information and the G4Step statistics PDGID[index]=step->first.GetParticlePDGID(); new ((*Region)[index]) TObjString (step->first.GetRegionName()); new ((*Process)[index]) TObjString (step->first.GetProcessName()); G4StepFreq[index]=*step->second; } G4StepTree->Fill(); }
unsigned int G4StepStatistics::Event [private] |
Definition at line 232 of file G4StepStatistics.h.
edm::Service<TFileService> G4StepStatistics::fs [private] |
Definition at line 230 of file G4StepStatistics.h.
Referenced by G4StepStatistics().
std::map<const StepID,unsigned int*> G4StepStatistics::G4StatsMap [private] |
Definition at line 229 of file G4StepStatistics.h.
Referenced by update().
Int_t G4StepStatistics::G4StepFreq[100000] [private] |
Definition at line 236 of file G4StepStatistics.h.
Referenced by G4StepStatistics(), and update().
TTree* G4StepStatistics::G4StepTree [private] |
Definition at line 231 of file G4StepStatistics.h.
Referenced by G4StepStatistics(), and update().
bool G4StepStatistics::m_verbose [private] |
Definition at line 226 of file G4StepStatistics.h.
Referenced by update().
Int_t G4StepStatistics::PDGID[100000] [private] |
Definition at line 233 of file G4StepStatistics.h.
Referenced by G4StepStatistics(), and update().
TClonesArray* G4StepStatistics::Process [private] |
Definition at line 235 of file G4StepStatistics.h.
Referenced by G4StepStatistics().
TClonesArray* G4StepStatistics::Region [private] |
Definition at line 234 of file G4StepStatistics.h.
Referenced by G4StepStatistics().