FairRoot/PandaRoot
|
#include <PndFastSim.h>
Public Member Functions | |
PndFastSim (bool persist=true) | |
~PndFastSim () | |
void | Register () |
virtual InitStatus | Init () |
virtual void | Finish () |
virtual void | Exec (Option_t *opt) |
bool | AddDetector (std::string name, std::string params="") |
bool | AddDetector (PndFsmAbsDet *det) |
void | SetVerbosity (int vb) |
bool | EnableSplitoffs (std::string fname="splitpars.dat") |
bool | MergeNeutralClusters (bool merge=true, double par=0.389) |
void | EnableElectronBremsstrahlung (bool brems=true) |
void | EnablePropagation (bool propagate=true, bool tostartvtx=true, bool usecovmatrix=true, double tolerance=0.0) |
void | SetUseFlatCov (bool v=true) |
void | SetMultFilter (TString type, int min, int max=1000) |
void | SetInvMassFilter (TString filter, double min, double max, int mult=1) |
void | SetSeed (unsigned int seed=65539) |
Private Attributes | |
TClonesArray * | fMcCandidates |
TClonesArray * | fPidChargedCand |
TClonesArray * | fPidNeutralCand |
TClonesArray * | fMicroCandidates |
TClonesArray * | fPidChargedProb |
TClonesArray * | fPidNeutralProb |
PndPidProbability TCA for charged particles. More... | |
std::map< TString, TClonesArray * > | fPidArrayList |
PndPidProbability TCA for neutral particles. More... | |
TClonesArray * | fEventInfo |
PndPidProbability TCA's for individual detectors. More... | |
TRandom3 * | fRand |
int | fVb |
int | evtcnt |
TF1 * | fspo [5][4] |
TF1 * | fBremsEnergy |
bool | fGenSplitOffs |
bool | fMergeNeutralClusters |
bool | fElectronBrems |
double | fMergeProbPar |
bool | fPropagate |
bool | fToStartVtx |
bool | fUseCovMatrix |
bool | fUseFlatCovMatrix |
double | fTolerance |
bool | fApplyFilter |
int | fMultMin [6] |
int | fMultMax [6] |
TString | fInvMassFilter |
double | fInvMassMin |
double | fInvMassMax |
int | fInvMassMult |
int | fCombIndex [5] |
int | fCombMult |
bool | fChargeConj |
int | fNAccept |
bool | fPersist |
PndFsmDetFactory * | fDetFac |
std::string | fAddedDets |
FsmAbsDetList | fDetList |
TDatabasePDG * | fdbPdg |
Static Private Attributes | |
static TMatrixD | fRho |
static TMatrixD | fEta |
Definition at line 32 of file PndFastSim.h.
PndFastSim::PndFastSim | ( | bool | persist = true | ) |
Default constructor
Definition at line 62 of file PndFastSim.cxx.
References AddDetector(), fAddedDets, fApplyFilter, fChargeConj, fCombIndex, fCombMult, fdbPdg, fDetFac, fElectronBrems, fGenSplitOffs, fInvMassFilter, fInvMassMax, fInvMassMin, fInvMassMult, fMergeNeutralClusters, fMergeProbPar, fMultMax, fMultMin, fNAccept, fPersist, fPropagate, fRand, fToStartVtx, fUseCovMatrix, fUseFlatCovMatrix, fVb, i, and PndFsmRandom::Instance().
PndFastSim::~PndFastSim | ( | ) |
Destructor
Definition at line 98 of file PndFastSim.cxx.
References fDetFac, fEventInfo, fMcCandidates, fPidChargedCand, fPidChargedProb, fPidNeutralCand, fPidNeutralProb, and fRand.
|
private |
Definition at line 429 of file PndFastSim.cxx.
References RhoCandList::Add(), chCon(), RhoCandList::Combine(), RhoCandList::CombineAndAppend(), copyAndSetMass(), d, fabs(), fChargeConj, fCombIndex, fCombMult, fInvMassMax, fInvMassMin, fInvMassMult, fMultMax, fMultMin, fVb, RhoCandList::GetLength(), i, idx, and RhoCandList::Select().
Referenced by Exec().
bool PndFastSim::AddDetector | ( | std::string | name, |
std::string | params = "" |
||
) |
Definition at line 313 of file PndFastSim.cxx.
References PndFsmDetFactory::create(), fAddedDets, fDetFac, fDetList, and fVb.
Referenced by PndFastSim(), prod_fsim(), QAmacro_fastsim_1(), quickfsimana(), run_fast(), simfast(), simfast_cmp(), simfast_dpm(), simfast_dpm_cmp(), simfast_opt(), simfast_single_allpid(), simfast_singletracks(), and tut_fastsim().
bool PndFastSim::AddDetector | ( | PndFsmAbsDet * | det | ) |
Definition at line 337 of file PndFastSim.cxx.
References PndFsmAbsDet::detName(), fAddedDets, fDetList, and fVb.
|
private |
|
private |
|
private |
Definition at line 362 of file PndFastSim.cxx.
References RhoCandList::Add(), c, RhoCandList::Cleanup(), RhoCandList::GetLength(), i, and RhoCandidate::SetType().
Referenced by acceptFilters().
|
private |
Definition at line 1039 of file PndFastSim.cxx.
References c, PndFsmTrack::charge(), dE, PndFsmResponse::dE(), PndFsmResponse::detected(), PndFsmResponse::dm(), PndFsmResponse::dp(), PndFsmResponse::dphi(), dtheta, PndFsmResponse::dtheta(), PndFsmResponse::dV(), fabs(), fEta, fPropagate, fRand, fRho, fTolerance, fToStartVtx, fUseCovMatrix, fUseFlatCovMatrix, PndFsmTrack::GetHelixCov(), PndFsmTrack::GetHelixOmega(), PndFsmTrack::GetHelixParams(), PndFsmTrack::GetHelixTanDip(), PndFsmTrack::HelixRep(), ir, PndFsmResponse::m2(), m2(), PndFsmResponse::MvddEdx(), p, p2, PndFsmTrack::p4(), PndFsmTrack::Propagate(), SetFlatCovMatrix(), sin(), smearEnergy(), smearM(), smearM2(), smearMomentum(), smearMvddEdx(), smearPhi(), smearSttdEdx(), smearTheta(), smearVertex(), sqrt(), PndFsmTrack::startVtx(), PndFsmResponse::SttdEdx(), theta, and UpdateGammaHit().
Referenced by cutAndSmear(), and smearTrack().
|
private |
Definition at line 1031 of file PndFastSim.cxx.
References cutAndSmear(), and PndFsmTrack::detResponse().
|
inline |
Definition at line 62 of file PndFastSim.h.
References fElectronBrems.
Referenced by prod_fsim(), quickfsimana(), simfast(), simfast_opt(), and tut_fastsim().
void PndFastSim::EnablePropagation | ( | bool | propagate = true , |
bool | tostartvtx = true , |
||
bool | usecovmatrix = true , |
||
double | tolerance = 0.0 |
||
) |
Definition at line 303 of file PndFastSim.cxx.
References fPropagate, fTolerance, fToStartVtx, fUseCovMatrix, and propagate().
Referenced by QAmacro_fastsim_1(), run_fast(), simfast_cmp(), and simfast_dpm_cmp().
bool PndFastSim::EnableSplitoffs | ( | std::string | fname = "splitpars.dat" | ) |
Definition at line 224 of file PndFastSim.cxx.
References fGenSplitOffs, fspo, fVb, and i.
Referenced by prod_fsim(), quickfsimana(), simfast(), simfast_dpm(), simfast_opt(), simfast_single_allpid(), simfast_singletracks(), and tut_fastsim().
|
virtual |
Virtual method Exec
Definition at line 616 of file PndFastSim.cxx.
References acceptFilters(), RhoCandList::Add(), c, PndFsmTrack::charge(), PndFsmTrack::Cov7(), PndFsmTrack::detResponse(), PndFsmResponse::DrcBarrelThtc(), PndFsmResponse::DrcBarrelThtcErr(), PndFsmResponse::DrcDiscThtc(), PndFsmResponse::DrcDiscThtcErr(), PndFsmResponse::EmcEcal(), evtcnt, exp(), fabs(), fApplyFilter, fBremsEnergy, fdbPdg, fElectronBrems, fEventInfo, fGenSplitOffs, fMcCandidates, fMergeNeutralClusters, fMergeProbPar, fNAccept, fPidArrayList, fPidChargedCand, fPidChargedProb, fPidNeutralCand, fPidNeutralProb, fPropagate, fRand, fspo, fUseFlatCovMatrix, fVb, RhoCandList::GetLength(), PndStack::GetNtrack(), PndStack::GetParticle(), i, RhoFactory::Instance(), PndFsmResponse::LHElectron(), PndFsmResponse::LHKaon(), PndFsmResponse::LHMuon(), PndFsmResponse::LHPion(), PndFsmResponse::LHProton(), PndFsmResponse::m2(), mom, PndFsmResponse::MuoIron(), PndFsmResponse::MvddEdx(), PndFsmTrack::p4(), phot, pos, PndStack::PushTrack(), RhoFactory::Reset(), PndFsmResponse::RichThtc(), PndFsmResponse::RichThtcErr(), PndEventInfo::SetCharged(), PndEventInfo::SetCmFrame(), PndPidCandidate::SetCov7(), PndPidCandidate::SetDiscNumberOfPhotons(), PndPidCandidate::SetDiscThetaC(), PndPidCandidate::SetDiscThetaCErr(), PndPidCandidate::SetDrcNumberOfPhotons(), PndPidCandidate::SetDrcThetaC(), PndPidCandidate::SetDrcThetaCErr(), PndPidProbability::SetElectronPdf(), PndPidCandidate::SetEmcCalEnergy(), PndPidCandidate::SetEnergy(), PndPidProbability::SetIndex(), PndEventInfo::SetIPTruth(), PndPidProbability::SetKaonPdf(), PndPidCandidate::SetLastHit(), RhoCandidate::SetMarker(), PndPidCandidate::SetMcIndex(), RhoCandidate::SetMcTruth(), PndPidCandidate::SetMomentum(), PndPidCandidate::SetMuoIron(), PndPidProbability::SetMuonPdf(), PndPidCandidate::SetMvdDEDX(), PndEventInfo::SetNeutrals(), PndPidProbability::SetPionPdf(), PndPidProbability::SetProtonPdf(), PndPidCandidate::SetRichNumberOfPhotons(), PndPidCandidate::SetRichThetaC(), PndPidCandidate::SetRichThetaCErr(), PndPidCandidate::SetSttMeanDEDX(), PndPidCandidate::SetTofM2(), RhoCandidate::SetTrackNumber(), RhoCandidate::SetType(), smearTrack(), PndFsmTrack::startVtx(), PndFsmTrack::stopVtx(), PndFsmResponse::SttdEdx(), and t.
|
virtual |
Definition at line 599 of file PndFastSim.cxx.
References evtcnt, fApplyFilter, fInvMassFilter, fInvMassMax, fInvMassMin, fInvMassMult, fMultMax, fMultMin, fNAccept, i, and TString.
|
virtual |
Virtual method Init
Definition at line 158 of file PndFastSim.cxx.
References evtcnt, fBremsEnergy, fDetList, fEta, fRho, fVb, PndFsmAbsDet::print(), and Register().
|
inline |
Definition at line 61 of file PndFastSim.h.
References fMergeNeutralClusters, fMergeProbPar, merge(), and par.
Referenced by prod_fsim(), quickfsimana(), simfast(), simfast_opt(), and tut_fastsim().
void PndFastSim::Register | ( | ) |
Definition at line 120 of file PndFastSim.cxx.
References detname, PndFsmAbsDet::detName(), PndFsmAbsDet::doesPid(), fDetList, fEventInfo, fMcCandidates, fPersist, fPidArrayList, fPidChargedCand, fPidChargedProb, fPidNeutralCand, fPidNeutralProb, and TString.
Referenced by Init().
|
private |
Definition at line 1109 of file PndFastSim.cxx.
References PndFsmTrack::charge(), cos(), dE, dtheta, dx, dy, dz, fabs(), p, PndFsmTrack::p4(), PndFsmTrack::SetP4Cov(), PndFsmTrack::SetVCov(), and sin().
Referenced by cutAndSmear().
void PndFastSim::SetInvMassFilter | ( | TString | filter, |
double | min, | ||
double | max, | ||
int | mult = 1 |
||
) |
Definition at line 373 of file PndFastSim.cxx.
References fApplyFilter, fChargeConj, fCombIndex, fCombMult, fInvMassFilter, fInvMassMax, fInvMassMin, fInvMassMult, i, idx, max(), min(), mult, and TString.
Referenced by prod_fsim(), quickfsimana(), and simfast_opt().
void PndFastSim::SetMultFilter | ( | TString | type, |
int | min, | ||
int | max = 1000 |
||
) |
Definition at line 347 of file PndFastSim.cxx.
References fMultMax, fMultMin, i, max(), and min().
Referenced by simfast_opt().
|
privatevirtual |
void PndFastSim::SetSeed | ( | unsigned int | seed = 65539 | ) |
|
inline |
Definition at line 64 of file PndFastSim.h.
References fUseFlatCovMatrix, and v.
Referenced by prod_fsim(), quickfsimana(), simfast(), simfast_opt(), and tut_fastsim().
|
inline |
Definition at line 59 of file PndFastSim.h.
References fVb.
Referenced by prod_fsim(), QAmacro_fastsim_1(), quickfsimana(), run_fast(), simfast(), simfast_cmp(), simfast_dpm(), simfast_dpm_cmp(), simfast_opt(), simfast_single_allpid(), simfast_singletracks(), and tut_fastsim().
|
private |
Definition at line 1185 of file PndFastSim.cxx.
References PndFsmTrack::charge(), fabs(), fRand, m, PndFsmTrack::p4(), PndFsmTrack::setP4(), and sqrt().
Referenced by cutAndSmear().
|
private |
Definition at line 1242 of file PndFastSim.cxx.
References PndFsmTrack::p4(), and PndFsmTrack::setP4().
Referenced by cutAndSmear().
|
private |
Definition at line 1254 of file PndFastSim.cxx.
References PndFsmTrack::setMass2().
Referenced by cutAndSmear().
|
private |
Definition at line 1213 of file PndFastSim.cxx.
References fRand, PndFsmTrack::p4(), and PndFsmTrack::setP4().
Referenced by cutAndSmear().
|
private |
Definition at line 1261 of file PndFastSim.cxx.
References PndFsmTrack::setMvddEdX().
Referenced by cutAndSmear().
|
private |
Definition at line 1232 of file PndFastSim.cxx.
References fRand, PndFsmTrack::p4(), and PndFsmTrack::setP4().
Referenced by cutAndSmear().
|
private |
Definition at line 1268 of file PndFastSim.cxx.
References PndFsmTrack::setSttdEdX().
Referenced by cutAndSmear().
|
private |
Definition at line 1222 of file PndFastSim.cxx.
References fRand, PndFsmTrack::p4(), and PndFsmTrack::setP4().
Referenced by cutAndSmear().
|
private |
|
private |
Definition at line 951 of file PndFastSim.cxx.
References PndFsmTrack::charge(), cutAndSmear(), PndFsmResponse::detector(), detname, PndFsmAbsDet::detName(), PndFsmAbsDet::doesPid(), fabs(), fDetList, fPidArrayList, PndFsmResponse::LHElectron(), PndFsmResponse::LHKaon(), PndFsmResponse::LHMuon(), PndFsmResponse::LHPion(), PndFsmResponse::LHProton(), PndFsmAbsDet::respond(), PndFsmTrack::setDetResponse(), PndPidProbability::SetIndex(), mrfdata_8b_error::success, sumResponse(), and TString.
Referenced by Exec().
|
private |
Definition at line 1275 of file PndFastSim.cxx.
References fRand, PndFsmTrack::setStartVtx(), and PndFsmTrack::startVtx().
Referenced by cutAndSmear().
|
private |
Definition at line 1294 of file PndFastSim.cxx.
References dE, PndFsmResponse::dE(), PndFsmResponse::detected(), PndFsmResponse::detector(), PndFsmAbsDet::detName(), PndFsmResponse::dm(), PndFsmResponse::dp(), PndFsmResponse::dphi(), PndFsmResponse::DrcBarrelThtc(), PndFsmResponse::DrcBarrelThtcErr(), PndFsmResponse::DrcDiscThtc(), PndFsmResponse::DrcDiscThtcErr(), PndFsmResponse::dt(), dtheta, PndFsmResponse::dtheta(), PndFsmResponse::dV(), PndFsmResponse::EmcEcal(), fabs(), fVb, PndFsmResponse::LHElectron(), PndFsmResponse::LHKaon(), PndFsmResponse::LHMuon(), PndFsmResponse::LHPion(), PndFsmResponse::LHProton(), PndFsmResponse::m2(), m2(), PndFsmResponse::m2Err(), PndFsmResponse::MuoIron(), PndFsmResponse::MvddEdx(), PndFsmResponse::MvddEdxErr(), PndFsmResponse::print(), PndFsmResponse::RichThtc(), PndFsmResponse::RichThtcErr(), PndFsmResponse::setdE(), PndFsmResponse::setDetected(), PndFsmResponse::setdm(), PndFsmResponse::setdp(), PndFsmResponse::setdphi(), PndFsmResponse::setDrcBarrelThtc(), PndFsmResponse::setDrcDiscThtc(), PndFsmResponse::setdt(), PndFsmResponse::setdtheta(), PndFsmResponse::setdV(), PndFsmResponse::setEmcEcal(), PndFsmResponse::setLHElectron(), PndFsmResponse::setLHKaon(), PndFsmResponse::setLHMuon(), PndFsmResponse::setLHPion(), PndFsmResponse::setLHProton(), PndFsmResponse::setm2(), PndFsmResponse::setMuoIron(), PndFsmResponse::setMvddEdx(), PndFsmResponse::setRichThtc(), PndFsmResponse::setSttdEdx(), sqrt(), PndFsmResponse::SttdEdx(), PndFsmResponse::SttdEdxErr(), and val.
Referenced by smearTrack().
|
private |
Definition at line 1470 of file PndFastSim.cxx.
References fabs(), PndFsmTrack::p4(), PndFsmTrack::setStopVtx(), PndFsmTrack::stopVtx(), x, y, and z.
Referenced by cutAndSmear().
|
private |
Definition at line 110 of file PndFastSim.h.
|
private |
Definition at line 139 of file PndFastSim.h.
Referenced by AddDetector(), and PndFastSim().
|
private |
Definition at line 124 of file PndFastSim.h.
Referenced by Exec(), Finish(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 112 of file PndFastSim.h.
|
private |
Definition at line 133 of file PndFastSim.h.
Referenced by acceptFilters(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 131 of file PndFastSim.h.
Referenced by acceptFilters(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 132 of file PndFastSim.h.
Referenced by acceptFilters(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 142 of file PndFastSim.h.
Referenced by Exec(), and PndFastSim().
|
private |
Definition at line 138 of file PndFastSim.h.
Referenced by AddDetector(), PndFastSim(), and ~PndFastSim().
|
private |
Definition at line 140 of file PndFastSim.h.
Referenced by AddDetector(), Init(), Register(), and smearTrack().
|
private |
Definition at line 115 of file PndFastSim.h.
Referenced by EnableElectronBremsstrahlung(), Exec(), and PndFastSim().
|
staticprivate |
Definition at line 152 of file PndFastSim.h.
Referenced by cutAndSmear(), and Init().
|
private |
PndPidProbability TCA's for individual detectors.
Definition at line 106 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
Definition at line 113 of file PndFastSim.h.
Referenced by EnableSplitoffs(), Exec(), and PndFastSim().
|
private |
Definition at line 127 of file PndFastSim.h.
Referenced by Finish(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 129 of file PndFastSim.h.
Referenced by acceptFilters(), Finish(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 128 of file PndFastSim.h.
Referenced by acceptFilters(), Finish(), PndFastSim(), and SetInvMassFilter().
|
private |
Definition at line 130 of file PndFastSim.h.
Referenced by acceptFilters(), Finish(), PndFastSim(), and SetInvMassFilter().
|
private |
Output array of Candidates
Definition at line 97 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
Definition at line 114 of file PndFastSim.h.
Referenced by Exec(), MergeNeutralClusters(), and PndFastSim().
|
private |
Definition at line 116 of file PndFastSim.h.
Referenced by Exec(), MergeNeutralClusters(), and PndFastSim().
|
private |
Definition at line 100 of file PndFastSim.h.
|
private |
Definition at line 126 of file PndFastSim.h.
Referenced by acceptFilters(), Finish(), PndFastSim(), and SetMultFilter().
|
private |
Definition at line 125 of file PndFastSim.h.
Referenced by acceptFilters(), Finish(), PndFastSim(), and SetMultFilter().
|
private |
Definition at line 134 of file PndFastSim.h.
Referenced by Exec(), Finish(), and PndFastSim().
|
private |
Definition at line 136 of file PndFastSim.h.
Referenced by PndFastSim(), and Register().
PndPidProbability TCA for neutral particles.
Definition at line 104 of file PndFastSim.h.
Referenced by Exec(), Register(), and smearTrack().
|
private |
Definition at line 98 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
Definition at line 101 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
Definition at line 99 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
PndPidProbability TCA for charged particles.
Definition at line 102 of file PndFastSim.h.
Referenced by Exec(), Register(), and ~PndFastSim().
|
private |
Definition at line 117 of file PndFastSim.h.
Referenced by cutAndSmear(), EnablePropagation(), Exec(), and PndFastSim().
|
private |
Definition at line 108 of file PndFastSim.h.
Referenced by cutAndSmear(), Exec(), PndFastSim(), SetSeed(), smearEnergy(), smearMomentum(), smearPhi(), smearTheta(), smearVertex(), and ~PndFastSim().
|
staticprivate |
Definition at line 151 of file PndFastSim.h.
Referenced by cutAndSmear(), and Init().
|
private |
Definition at line 111 of file PndFastSim.h.
Referenced by EnableSplitoffs(), and Exec().
|
private |
Definition at line 121 of file PndFastSim.h.
Referenced by cutAndSmear(), and EnablePropagation().
|
private |
Definition at line 118 of file PndFastSim.h.
Referenced by cutAndSmear(), EnablePropagation(), and PndFastSim().
|
private |
Definition at line 119 of file PndFastSim.h.
Referenced by cutAndSmear(), EnablePropagation(), and PndFastSim().
|
private |
Definition at line 120 of file PndFastSim.h.
Referenced by cutAndSmear(), Exec(), PndFastSim(), and SetUseFlatCov().
|
private |
Definition at line 109 of file PndFastSim.h.
Referenced by acceptFilters(), AddDetector(), EnableSplitoffs(), Exec(), Init(), PndFastSim(), SetVerbosity(), and sumResponse().