Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PHG4CylinderCellTPCReco Class Reference

#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/simulation/g4detectors/PHG4CylinderCellTPCReco.h>

+ Inheritance diagram for PHG4CylinderCellTPCReco:
+ Collaboration diagram for PHG4CylinderCellTPCReco:

Public Member Functions

 PHG4CylinderCellTPCReco (const int n_pixel=2, const std::string &name="CYLINDERTPCRECO")
 
virtual ~PHG4CylinderCellTPCReco ()
 
int Init (PHCompositeNode *topNode)
 module initialization More...
 
int InitRun (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 event processing More...
 
void Detector (const std::string &d)
 
void cellsize (const int i, const double sr, const double sz)
 
void setZigzags (const bool zzpads)
 
void populate_rectangular_phibins (PHG4CylinderCellGeom *geo, const double phi, const double cloud_sig_rp, std::vector< int > &pad_phibin, std::vector< double > &pad_phibin_share)
 
void populate_zigzag_phibins (PHG4CylinderCellGeom *geo, const double phi, const double cloud_sig_rp, std::vector< int > &pad_phibin, std::vector< double > &pad_phibin_share)
 
void populate_zbins (PHG4CylinderCellGeom *geo, const double z, const double cloud_sig_zz[2], std::vector< int > &pad_zbin, std::vector< double > &pad_zbin_share)
 
void OutputDetector (const std::string &d)
 
void setHalfLength (const double hz)
 
void setDiffusionL (const double diff)
 
void setDiffusionT (const double diff)
 
void setSigmaT (const double gem)
 
void setElectronsPerKeV (const double epk)
 
void set_drift_velocity (const double cm_per_ns)
 
void setSmearRPhi (const double v)
 
void setSmearZ (const double v)
 
void setShapingRMSLead (const double v)
 
void setShapingRMSTail (const double v)
 
double get_timing_window_min (const int i)
 
double get_timing_window_max (const int i)
 
void set_timing_window (const int i, const double tmin, const double tmax)
 
void set_timing_window_defaults (const double tmin, const double tmax)
 
void setDistortion (PHG4TPCDistortion *d)
 distortion to the primary ionization More...
 
- Public Member Functions inherited from SubsysReco
virtual ~SubsysReco ()
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing. More...
 
virtual int EndRun (const int)
 Called at the end of each run. More...
 
virtual int Reset (PHCompositeNode *)
 Reset. More...
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event. More...
 
virtual void Print (const std::string &what="ALL") const
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module. More...
 
virtual void Name (const std::string &name)
 Sets the name of this module. More...
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual int Verbosity () const
 Gets the verbosity of this module. More...
 

Protected Attributes

std::map< int, int > binning
 
std::map< int, std::pair
< double, double > > 
cell_size
 
std::map< int, double > phistep
 
std::map< int, double > etastep
 
std::vector< int > adc_zbin
 
std::vector< int > pad_phibin
 
std::vector< double > pad_phibin_share
 
std::vector< double > adc_zbin_share
 
std::string detector
 
std::string outdetector
 
std::string hitnodename
 
std::string cellnodename
 
std::string geonodename
 
std::string seggeonodename
 
std::map< int, std::pair< int,
int > > 
n_phi_z_bins
 
PHTimeServer::timer _timer
 
int nbins [2]
 
double fHalfLength
 
double fDiffusionT
 
double fDiffusionL
 
double sigmaT
 
double elec_per_gev
 
double driftv
 
TF1 * fpad [10]
 
TF1 * fcharge
 
int num_pixel_layers
 
double tmin_default
 
double tmax_default
 
std::map< int, std::pair
< double, double > > 
tmin_max
 
PHG4TPCDistortion * distortion
 distortion to the primary ionization if not NULL More...
 
TH1 * fHElectrons
 
TProfile2D * fHWindowP
 
TProfile2D * fHWindowZ
 
TProfile2D * fHMeanEDepPerCell
 
TProfile2D * fHMeanElectronsPerCell
 
TProfile2D * fHErrorRPhi
 
TProfile2D * fHErrorZ
 
double fFractRPsm
 
double fFractZZsm
 
double fShapingLead
 
double fShapingTail
 
bool zigzag_pads
 
gsl_rng * RandomGenerator
 random generator that conform with sPHENIX standard More...
 
- Protected Attributes inherited from Fun4AllBase
std::string ThisName
 
int verbosity
 The verbosity level. 0 means not verbose at all. More...
 

Additional Inherited Members

- Public Types inherited from Fun4AllBase
enum  enu_Verbosity {
  VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3,
  VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 
- Protected Member Functions inherited from Fun4AllBase
 Fun4AllBase (const std::string &name="NONAME")
 

Detailed Description

Definition at line 23 of file PHG4CylinderCellTPCReco.h.

Constructor & Destructor Documentation

PHG4CylinderCellTPCReco::PHG4CylinderCellTPCReco ( const int  n_pixel = 2,
const std::string &  name = "CYLINDERTPCRECO" 
)

Definition at line 43 of file PHG4CylinderCellTPCReco.cc.

PHG4CylinderCellTPCReco::~PHG4CylinderCellTPCReco ( )
virtual

Definition at line 84 of file PHG4CylinderCellTPCReco.cc.

References distortion, and RandomGenerator.

Member Function Documentation

void PHG4CylinderCellTPCReco::cellsize ( const int  i,
const double  sr,
const double  sz 
)

Definition at line 102 of file PHG4CylinderCellTPCReco.cc.

References cell_size.

void PHG4CylinderCellTPCReco::Detector ( const std::string &  d)

Definition at line 90 of file PHG4CylinderCellTPCReco.cc.

References detector, outdetector, and OutputDetector().

+ Here is the call graph for this function:

double PHG4CylinderCellTPCReco::get_timing_window_max ( const int  i)
inline

Definition at line 60 of file PHG4CylinderCellTPCReco.h.

References tmin_max.

double PHG4CylinderCellTPCReco::get_timing_window_min ( const int  i)
inline

Definition at line 59 of file PHG4CylinderCellTPCReco.h.

References tmin_max.

int PHG4CylinderCellTPCReco::Init ( PHCompositeNode topNode)
virtual

module initialization

Reimplemented from SubsysReco.

Definition at line 107 of file PHG4CylinderCellTPCReco.cc.

References Fun4AllReturnCodes::EVENT_OK, fHElectrons, fHErrorRPhi, fHErrorZ, fHMeanEDepPerCell, fHMeanElectronsPerCell, fHWindowP, fHWindowZ, Fun4AllServer::instance(), Fun4AllServer::registerHisto(), se, and Fun4AllBase::verbosity.

+ Here is the call graph for this function:

void PHG4CylinderCellTPCReco::OutputDetector ( const std::string &  d)
inline

Definition at line 44 of file PHG4CylinderCellTPCReco.h.

References outdetector.

Referenced by Detector().

+ Here is the caller graph for this function:

void PHG4CylinderCellTPCReco::populate_rectangular_phibins ( PHG4CylinderCellGeom geo,
const double  phi,
const double  cloud_sig_rp,
std::vector< int > &  pad_phibin,
std::vector< double > &  pad_phibin_share 
)

Definition at line 649 of file PHG4CylinderCellTPCReco.cc.

References PHG4CylinderCellGeom::get_phibin(), PHG4CylinderCellGeom::get_phibins(), PHG4CylinderCellGeom::get_phicenter(), PHG4CylinderCellGeom::get_phistep(), PHG4CylinderCellGeom::get_radius(), and PHG4CylinderCellGeom::get_thickness().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4CylinderCellTPCReco::populate_zbins ( PHG4CylinderCellGeom geo,
const double  z,
const double  cloud_sig_zz[2],
std::vector< int > &  pad_zbin,
std::vector< double > &  pad_zbin_share 
)

Definition at line 769 of file PHG4CylinderCellTPCReco.cc.

References PHG4CylinderCellGeom::get_zbin(), PHG4CylinderCellGeom::get_zbins(), PHG4CylinderCellGeom::get_zcenter(), PHG4CylinderCellGeom::get_zstep(), and Fun4AllBase::verbosity.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4CylinderCellTPCReco::populate_zigzag_phibins ( PHG4CylinderCellGeom geo,
const double  phi,
const double  cloud_sig_rp,
std::vector< int > &  pad_phibin,
std::vector< double > &  pad_phibin_share 
)

Definition at line 688 of file PHG4CylinderCellTPCReco.cc.

References fcharge, fpad, PHG4CylinderCellGeom::get_phibin(), PHG4CylinderCellGeom::get_phibins(), PHG4CylinderCellGeom::get_phicenter(), PHG4CylinderCellGeom::get_phistep(), PHG4CylinderCellGeom::get_radius(), PHG4CylinderCellGeom::get_thickness(), and Fun4AllBase::verbosity.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4CylinderCellTPCReco::process_event ( PHCompositeNode topNode)
virtual

event processing

Reimplemented from SubsysReco.

Definition at line 278 of file PHG4CylinderCellTPCReco.cc.

References _timer, adc_zbin, adc_zbin_share, PHG4Cell::add_edep(), PHG4Cell::add_shower_edep(), PHG4CellContainer::AddCell(), c_light, cell_size, cellnodename, distortion, driftv, elec_per_gev, Fun4AllReturnCodes::EVENT_OK, fDiffusionL, fDiffusionT, fFractRPsm, fFractZZsm, fHalfLength, fHElectrons, fHMeanEDepPerCell, fHMeanElectronsPerCell, fShapingLead, fShapingTail, PHG4CellDefs::SizeBinning::genkey(), PHTimeServer::timer::get(), PHG4CellDefs::SizeBinning::get_phibin(), PHG4CylinderCellGeom::get_phibin(), PHG4CylinderCellGeom::get_phibins(), PHG4CylinderCellGeom::get_phicenter(), PHG4CylinderCellGeom::get_phimin(), PHG4CylinderCellGeom::get_radius(), PHG4CylinderCellGeom::get_thickness(), PHG4CylinderCellGeom::get_zbin(), PHG4CellDefs::SizeBinning::get_zbin(), PHG4CylinderCellGeom::get_zbins(), PHG4CylinderCellGeom::get_zcenter(), PHG4CylinderCellGeom::get_zmin(), PHG4HitContainer::getHits(), PHG4CylinderCellGeomContainer::GetLayerCellGeom(), PHG4HitContainer::getLayers(), hitnodename, n_phi_z_bins, num_pixel_layers, pad_phibin, pad_phibin_share, populate_rectangular_phibins(), populate_zbins(), populate_zigzag_phibins(), RandomGenerator, PHTimer::restart(), seggeonodename, sigmaT, PHTimer::stop(), tmin_max, Fun4AllBase::verbosity, and zigzag_pads.

+ Here is the call graph for this function:

void PHG4CylinderCellTPCReco::set_drift_velocity ( const double  cm_per_ns)
inline

Definition at line 51 of file PHG4CylinderCellTPCReco.h.

References driftv.

void PHG4CylinderCellTPCReco::set_timing_window ( const int  i,
const double  tmin,
const double  tmax 
)
inline

Definition at line 61 of file PHG4CylinderCellTPCReco.h.

References tmin_max.

void PHG4CylinderCellTPCReco::set_timing_window_defaults ( const double  tmin,
const double  tmax 
)
inline

Definition at line 64 of file PHG4CylinderCellTPCReco.h.

References tmax_default, and tmin_default.

void PHG4CylinderCellTPCReco::setDiffusionL ( const double  diff)
inline

Definition at line 47 of file PHG4CylinderCellTPCReco.h.

References fDiffusionL.

void PHG4CylinderCellTPCReco::setDiffusionT ( const double  diff)
inline

Definition at line 48 of file PHG4CylinderCellTPCReco.h.

References fDiffusionT.

void PHG4CylinderCellTPCReco::setDistortion ( PHG4TPCDistortion *  d)
inline

distortion to the primary ionization

Definition at line 69 of file PHG4CylinderCellTPCReco.h.

References distortion.

void PHG4CylinderCellTPCReco::setElectronsPerKeV ( const double  epk)
inline

Definition at line 50 of file PHG4CylinderCellTPCReco.h.

References elec_per_gev.

void PHG4CylinderCellTPCReco::setHalfLength ( const double  hz)
inline

Definition at line 46 of file PHG4CylinderCellTPCReco.h.

References fHalfLength.

void PHG4CylinderCellTPCReco::setShapingRMSLead ( const double  v)
inline

Definition at line 56 of file PHG4CylinderCellTPCReco.h.

References fShapingLead.

void PHG4CylinderCellTPCReco::setShapingRMSTail ( const double  v)
inline

Definition at line 57 of file PHG4CylinderCellTPCReco.h.

References fShapingTail.

void PHG4CylinderCellTPCReco::setSigmaT ( const double  gem)
inline

Definition at line 49 of file PHG4CylinderCellTPCReco.h.

References sigmaT.

void PHG4CylinderCellTPCReco::setSmearRPhi ( const double  v)
inline

Definition at line 53 of file PHG4CylinderCellTPCReco.h.

References fFractRPsm.

void PHG4CylinderCellTPCReco::setSmearZ ( const double  v)
inline

Definition at line 54 of file PHG4CylinderCellTPCReco.h.

References fFractZZsm.

void PHG4CylinderCellTPCReco::setZigzags ( const bool  zzpads)
inline

Definition at line 40 of file PHG4CylinderCellTPCReco.h.

References zigzag_pads.

Member Data Documentation

PHTimeServer::timer PHG4CylinderCellTPCReco::_timer
protected

Definition at line 87 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::vector<int> PHG4CylinderCellTPCReco::adc_zbin
protected

Definition at line 76 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::vector<double> PHG4CylinderCellTPCReco::adc_zbin_share
protected

Definition at line 79 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::map<int, int> PHG4CylinderCellTPCReco::binning
protected

Definition at line 72 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun().

std::map<int, std::pair<double,double> > PHG4CylinderCellTPCReco::cell_size
protected

Definition at line 73 of file PHG4CylinderCellTPCReco.h.

Referenced by cellsize(), InitRun(), and process_event().

std::string PHG4CylinderCellTPCReco::cellnodename
protected

Definition at line 83 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and process_event().

std::string PHG4CylinderCellTPCReco::detector
protected

Definition at line 80 of file PHG4CylinderCellTPCReco.h.

Referenced by Detector(), and InitRun().

PHG4TPCDistortion* PHG4CylinderCellTPCReco::distortion
protected

distortion to the primary ionization if not NULL

Definition at line 106 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), setDistortion(), and ~PHG4CylinderCellTPCReco().

double PHG4CylinderCellTPCReco::driftv
protected

Definition at line 95 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and set_drift_velocity().

double PHG4CylinderCellTPCReco::elec_per_gev
protected

Definition at line 94 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setElectronsPerKeV().

std::map<int, double> PHG4CylinderCellTPCReco::etastep
protected

Definition at line 75 of file PHG4CylinderCellTPCReco.h.

TF1* PHG4CylinderCellTPCReco::fcharge
protected

Definition at line 97 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and populate_zigzag_phibins().

double PHG4CylinderCellTPCReco::fDiffusionL
protected

Definition at line 92 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setDiffusionL().

double PHG4CylinderCellTPCReco::fDiffusionT
protected

Definition at line 91 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setDiffusionT().

double PHG4CylinderCellTPCReco::fFractRPsm
protected

Definition at line 114 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setSmearRPhi().

double PHG4CylinderCellTPCReco::fFractZZsm
protected

Definition at line 115 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setSmearZ().

double PHG4CylinderCellTPCReco::fHalfLength
protected

Definition at line 90 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setHalfLength().

TH1* PHG4CylinderCellTPCReco::fHElectrons
protected

Definition at line 107 of file PHG4CylinderCellTPCReco.h.

Referenced by Init(), and process_event().

TProfile2D* PHG4CylinderCellTPCReco::fHErrorRPhi
protected

Definition at line 112 of file PHG4CylinderCellTPCReco.h.

Referenced by Init().

TProfile2D* PHG4CylinderCellTPCReco::fHErrorZ
protected

Definition at line 113 of file PHG4CylinderCellTPCReco.h.

Referenced by Init().

TProfile2D* PHG4CylinderCellTPCReco::fHMeanEDepPerCell
protected

Definition at line 110 of file PHG4CylinderCellTPCReco.h.

Referenced by Init(), and process_event().

TProfile2D* PHG4CylinderCellTPCReco::fHMeanElectronsPerCell
protected

Definition at line 111 of file PHG4CylinderCellTPCReco.h.

Referenced by Init(), and process_event().

TProfile2D* PHG4CylinderCellTPCReco::fHWindowP
protected

Definition at line 108 of file PHG4CylinderCellTPCReco.h.

Referenced by Init().

TProfile2D* PHG4CylinderCellTPCReco::fHWindowZ
protected

Definition at line 109 of file PHG4CylinderCellTPCReco.h.

Referenced by Init().

TF1* PHG4CylinderCellTPCReco::fpad[10]
protected

Definition at line 96 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and populate_zigzag_phibins().

double PHG4CylinderCellTPCReco::fShapingLead
protected

Definition at line 116 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setShapingRMSLead().

double PHG4CylinderCellTPCReco::fShapingTail
protected

Definition at line 117 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setShapingRMSTail().

std::string PHG4CylinderCellTPCReco::geonodename
protected

Definition at line 84 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun().

std::string PHG4CylinderCellTPCReco::hitnodename
protected

Definition at line 82 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and process_event().

std::map<int, std::pair<int, int> > PHG4CylinderCellTPCReco::n_phi_z_bins
protected

Definition at line 86 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and process_event().

int PHG4CylinderCellTPCReco::nbins[2]
protected

Definition at line 88 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun().

int PHG4CylinderCellTPCReco::num_pixel_layers
protected

Definition at line 99 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::string PHG4CylinderCellTPCReco::outdetector
protected

Definition at line 81 of file PHG4CylinderCellTPCReco.h.

Referenced by Detector(), InitRun(), and OutputDetector().

std::vector<int> PHG4CylinderCellTPCReco::pad_phibin
protected

Definition at line 77 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::vector<double> PHG4CylinderCellTPCReco::pad_phibin_share
protected

Definition at line 78 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event().

std::map<int, double> PHG4CylinderCellTPCReco::phistep
protected

Definition at line 74 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun().

gsl_rng* PHG4CylinderCellTPCReco::RandomGenerator
protected

random generator that conform with sPHENIX standard

Definition at line 122 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and ~PHG4CylinderCellTPCReco().

std::string PHG4CylinderCellTPCReco::seggeonodename
protected

Definition at line 85 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and process_event().

double PHG4CylinderCellTPCReco::sigmaT
protected

Definition at line 93 of file PHG4CylinderCellTPCReco.h.

Referenced by process_event(), and setSigmaT().

double PHG4CylinderCellTPCReco::tmax_default
protected

Definition at line 102 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and set_timing_window_defaults().

double PHG4CylinderCellTPCReco::tmin_default
protected

Definition at line 101 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), and set_timing_window_defaults().

std::map<int,std::pair<double,double> > PHG4CylinderCellTPCReco::tmin_max
protected
bool PHG4CylinderCellTPCReco::zigzag_pads
protected

Definition at line 118 of file PHG4CylinderCellTPCReco.h.

Referenced by InitRun(), process_event(), and setZigzags().


The documentation for this class was generated from the following files: