Phast Class Reference

General purpose interface. More...

#include <Phast.h>

List of all members.

Public Member Functions

float IntegratedBeamFlux ()
 calculate estimation of total beam flux.
float TotalBeamFlux ()
 calculate estimation of total beam flux.
int UserFlag (int i) const
 flag for user's code set my -U options ("i" corresponds to -U option sequential number: 0,1,2...)
int NUserFlag () const
 number of user flags given by the command line option(s) -U
string TextUserFlag (int i) const
 text flags for user's code set my -T options ("i" corresponds to -T option sequential number: 0,1,2...)
int NTextUserFlag () const
 number of text user flags given by the command line option(s) -T
int NProcessedSpills ()
 Number of processed spills.

Static Public Member Functions

static PhastRef ()
 Return const reference to this object.

Public Attributes

vector< TTree * > mso_setup_trees
 pointers to output setup trees in the case of multiple streams output
vector< TTree * > mso_event_trees
 pointers to output event trees in the case of multiple streams output
TFile * in_file
 pointer to input ROOT file
TFile * out_file
 pointer to output ROOT file
string out_file_name
 output ROOT file name
TFile * h_file
 pointer to opened histogram file
vector< string > mso_file_names
 output file names in the case of multiple streams output
vector< TFile * > mso_files
 pointers to output files in the case of multiple streams output
int NevTot
 total number of events in all opened files
int NevProc
 number of processed events
int NevOut
 number of events saved in output file
float UserFieldScale [3]
 User's field scaling factor for solenoid, SM1 and SM2 (used in PaField).
bool next_file
 set to "true" to jump to next input file
bool next_event
 set to "true" to jump to next event (skipping other UserEvent functions)

Detailed Description

General purpose interface.

It's place for various kind of counters, pointers etc. accessible everywhere in the code.

All data-members are public.


Member Function Documentation

float Phast::IntegratedBeamFlux (  ) 

calculate estimation of total beam flux.

Return number of beam particles, counted by SciFi scaler over sum of time intervals between 2 consecutive events if this time interval is not more than 0.1 sec. (see histogram "Phast_h1_02" in hist.root/PhastHist)
Double counting in case of group of events with overlapped spill-time intervals is avoided.
This function gives better estimation of flux for original (not filtered out) samples of mDST events if events distributed over spill non-uniformly (grouped in time)

static Phast& Phast::Ref (  )  [inline, static]

Return const reference to this object.

Could be used for access to Phast from any place in the code.
Example: Phast::Ref().NevProc - is number of processed events

Referenced by PaTrack::CanBeMuon(), PaTrack::FullKF(), PaField::getField(), PaVertex::iMuPrim(), PaParticle::IsMuPrim(), PaTrack::PointsHodoscopes(), PaSetup::Print(), PaEvent::Print(), PaDigit::Print(), and PaTrack::QuickKF().

float Phast::TotalBeamFlux (  ) 

calculate estimation of total beam flux.

Return number of beam particles, counted by SiFi scaler as sum (over processed data spills) of differences between scaler counts from last-in-spill event and first-in-spill.

Please note, this is only estimation, as completeness of input sample is not guarantied.
E.g. if you have in your sample all events from 1 spill, this function will returns you N = Scaler{last event} - Scaler{first event}.
Even if fraction of events inside spill will be skipped, nevertheless you will get the same result.
It is better to use this function for flux estimation in the case of reduced (filtered out) samples of mDST events.


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

Generated by  doxygen 1.6.2