StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StVpdSimMaker Class Reference
Inheritance diagram for StVpdSimMaker:
StMaker TDataSet

Classes

struct  VpdSingleHit
 VpdSingleHit contains the parameters that describe a vpd hit. More...
 

Public Member Functions

 StVpdSimMaker (const char *name="VpdSim")
 
virtual ~StVpdSimMaker ()
 
void Reset ()
 
virtual int Init ()
 
int InitRun (int)
 
int FinishRun (int)
 
virtual int Make ()
 
virtual int Finish ()
 
StBTofCollectionGetVpdCollection () const
 Returns the StBTofCollection of Vpd hits.
 
StMcBTofHitCollectionGetMcBTofHitCollection () const
 Returns the StMcBTofHitCollection of Mc Vpd hits.
 
string pullHistFileName ()
 
string getParamsFileName ()
 
void setParamsFile (string fileName="db/vpdSimParams/vpdSimParams.dat")
 
void setBookHisto (bool bookHist)
 
virtual const char * GetCVS () const
 
- Public Member Functions inherited from StMaker
 StMaker (const char *name="", const char *dummy=0)
 Constructor & Destructor.
 
virtual Int_t IsChain () const
 
virtual void Clear (Option_t *option="")
 User defined functions.
 
virtual void StartMaker ()
 
virtual Int_t IMake (Int_t number)
 
virtual void EndMaker (Int_t ierr)
 
virtual void FatalErr (Int_t Ierr, const char *Com)
 
virtual void PrintInfo ()
 
virtual void NotifyMe (const char *, const void *)
 
virtual void AddMaker (StMaker *mk)
 
virtual void MakeDoc (const TString &, const TString &, Bool_t)
 
virtual void AddData (TDataSet *data, const char *dir=".data")
 User methods.
 
virtual TDataSetAddObj (TObject *obj, const char *dir, int owner=1)
 
virtual TDataSetToWhiteBoard (const char *name, void *dat)
 
virtual TDataSetToWhiteBoard (const char *name, void *dat, void *del)
 
virtual TDataSetToWhiteBoard (const char *name, TObject *dat, Int_t owner)
 
virtual TDataSetToWhiteConst (const char *name, TObject *dat)
 
virtual TDataSetToWhiteConst (const char *name, void *dat)
 
virtual TDataSetWhiteBoard (const char *name, void *v=0) const
 
virtual Int_t Skip (Int_t nskip)
 
virtual void AddConst (TDataSet *data=0)
 
virtual void AddHist (TH1 *h, const char *dir=0)
 
virtual void AddGarb (TDataSet *data=0)
 
virtual void AddRunco (TDataSet *data=0)
 
virtual void AddRunco (Double_t par, const char *name, const char *comment)
 
void AddRunCont (TDataSet *data=0)
 
virtual TList * GetHistList () const
 
virtual TH1 * GetHist (const char *histName) const
 
virtual StMakercd ()
 
virtual StMakerCd ()
 
virtual Int_t GetNumber () const
 STAR methods.
 
virtual void SetNumber (Int_t number)
 
virtual StMakerGetParentChain () const
 
virtual Int_t GetIventNumber () const
 Returns the current event number.
 
virtual void SetIventNumber (Int_t iv)
 
virtual Int_t GetEventNumber () const
 
virtual Int_t GetRunNumber () const
 Returns the current RunNumber.
 
virtual const TDatime & GetDateTime () const
 
virtual const TDatime & GetDBTime () const
 
virtual void SetDateTime (Int_t idat, Int_t itim)
 
virtual StEvtHddrGetEvtHddr () const
 
virtual Int_t GetDate () const
 
virtual Int_t GetTime () const
 
virtual const char * GetEventType () const
 
virtual TDataSetGetData (const char *name, const char *dir=".data") const
 
virtual TDataSetGetData () const
 
virtual TDataSetGetConst () const
 
virtual TDataSetGetDataSet (const char *logInput) const
 
virtual TDataSetDataSet (const char *logInput) const
 
virtual TDataSetGetInputDS (const char *logInput) const
 
virtual TDataSetGetDataBase (const char *logInput, const TDatime *td=0)
 
virtual TDataSetGetInputDB (const char *logInput)
 
virtual Int_t GetDebug () const
 
virtual Int_t Debug () const
 
virtual Int_t GetMakeReturn () const
 
virtual TList * Histograms () const
 
virtual TString GetAlias (const char *log, const char *dir=".aliases") const
 
virtual TString GetInput (const char *log) const
 
virtual TString GetOutput (const char *log) const
 
virtual TList * GetMakeList () const
 
virtual StMakerGetParentMaker () const
 
virtual StMakerGetMaker (const char *mkname)
 
virtual StMakerGetMakerInheritsFrom (const char *mktype) const
 
virtual Bool_t IsActive ()
 
virtual StMakerMaker (const char *mkname)
 
virtual void SetBIT (EMakerStatus k)
 Maker Status Bits.
 
virtual void ResetBIT (EMakerStatus k)
 
virtual Bool_t TestBIT (EMakerStatus k)
 
virtual void SetActive (Bool_t k=kTRUE)
 Setters for flags and switches.
 
virtual void SetDebug (Int_t l=1)
 
virtual void SetDEBUG (Int_t l=1)
 
virtual void SetFlavor (const char *flav, const char *tabname)
 
virtual void SetMakeReturn (Int_t ret)
 
virtual void SetAlias (const char *log, const char *act, const char *dir=".aliases")
 
virtual void AddAlias (const char *log, const char *act, const char *dir=".aliases")
 
virtual void SetInput (const char *log, const char *act)
 
virtual void SetOutput (const char *log, const char *act)
 
virtual void SetOutput (const char *log, TDataSet *ds)
 
virtual void SetOutput (TDataSet *ds)
 
virtual void SetOutputAll (TDataSet *ds, Int_t level=1)
 
virtual void SetMode (Int_t mode=0)
 
virtual void SetNotify (const char *about, StMaker *mk)
 
virtual Int_t GetMode ()
 
virtual Int_t GetDebug ()
 
virtual const StChainOptGetChainOpt () const
 
virtual TFile * GetTFile () const
 
virtual void NotifyEm (const char *about, const void *ptr)
 
virtual Double_t RealTime ()
 
virtual Double_t CpuTime ()
 
virtual void StartTimer (Bool_t reset=kFALSE)
 
virtual void StopTimer ()
 
virtual void PrintTimer (Option_t *option="")
 
virtual void PrintTotalTime ()
 
virtual const char * GetName () const
 special overload
 
TObject * GetDirObj (const char *dir) const
 
void SetDirObj (TObject *obj, const char *dir)
 
Int_t SetAttr (const char *key, const char *val, const char *to=".")
 
Int_t SetAttr (const char *key, Int_t val, const char *to=".")
 
Int_t SetAttr (const char *key, UInt_t val, const char *to=".")
 
Int_t SetAttr (const char *key, Double_t val, const char *to=".")
 
Int_t SetAttr (const StMaker *mk)
 
Int_t RemAttr (const char *key, const char *to=".")
 
const TAttrGetAttr () const
 
Int_t IAttr (const char *key) const
 
UInt_t UAttr (const char *key) const
 
Double_t DAttr (const char *key) const
 
const char * SAttr (const char *key) const
 
void PrintAttr () const
 
- Public Member Functions inherited from TDataSet
 TDataSet (const char *name="", TDataSet *parent=0, Bool_t arrayFlag=kFALSE)
 
 TDataSet (const TDataSet &src, EDataSetPass iopt=kAll)
 
 TDataSet (TNode &src)
 This copy ctor has been depricated (left for thwe sake of the backweard compatibility)
 
virtual ~TDataSet ()
 std::cout << "Default destructor for " << GetName() << " - " << GetTitle() << std::endl;
 
virtual void Add (TDataSet *dataset)
 
virtual void AddAt (TDataSet *dataset, Int_t idx=0)
 
virtual void AddAtAndExpand (TDataSet *dataset, Int_t idx=0)
 
virtual void AddFirst (TDataSet *dataset)
 Add TDataSet object at the beginning of the dataset list of this dataset.
 
virtual void AddLast (TDataSet *dataset)
 Add TDataSet object at the end of the dataset list of this dataset.
 
TDataSetAt (Int_t idx) const
 
virtual void Browse (TBrowser *b)
 Browse this dataset (called by TBrowser).
 
virtual TObject * Clone (const char *newname="") const
 the custom implementation fo the TObject::Clone
 
virtual void Delete (Option_t *opt="")
 
virtual TDataSetFind (const char *path) const
 
virtual TDataSetFindByName (const char *name, const char *path="", Option_t *opt="") const
 
virtual TDataSetFindByPath (const char *path) const
 Aliase for TDataSet::Find(const Char_t *path) method.
 
virtual TDataSetFindByTitle (const char *title, const char *path="", Option_t *opt="") const
 
TObject * FindObject (const char *name) const
 
TObject * FindObject (const TObject *o) const
 
virtual TDataSetFirst () const
 Return the first object in the list. Returns 0 when list is empty.
 
TObjArray * GetObjArray () const
 
virtual TSeqCollection * GetCollection () const
 
TList * GetList () const
 
virtual Int_t GetListSize () const
 
TObject * GetMother () const
 
virtual TObject * GetObject () const
 The depricated method (left here for the sake of the backward compatibility)
 
virtual TDataSetGetParent () const
 
virtual Long_t HasData () const
 
virtual TDataSetInstance () const
 
virtual TString Path () const
 return the full path of this data set
 
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *), Int_t depth=0)
 
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *, void *), void *user, Int_t depth=0)
 
virtual void PrintContents (Option_t *opt="") const
 
virtual Int_t Purge (Option_t *opt="")
 
virtual void Remove (TDataSet *set)
 Remiove the "set" from this TDataSet.
 
virtual TDataSetRemoveAt (Int_t idx)
 
virtual void SetMother (TDataSet *parent=0)
 
virtual void SetObject (TObject *obj)
 The depricated method (left here for the sake of the backward compatibility)
 
virtual void SetParent (TDataSet *parent=0)
 
virtual void SetWrite ()
 
virtual void Shunt (TDataSet *newParent=0)
 
virtual void Sort ()
 Sort recursively all members of the TDataSet with TList::Sort method.
 
virtual Bool_t IsEmpty () const
 return kTRUE if the "internal" collection has no member
 
virtual Bool_t IsFolder () const
 
virtual Bool_t IsMarked () const
 
virtual Bool_t IsThisDir (const char *dirname, int len=-1, int ignorecase=0) const
 
virtual TDataSetLast () const
 Return the last object in the list. Returns 0 when list is empty.
 
virtual void ls (Option_t *option="") const
 
virtual void ls (Int_t depth) const
 
void Mark ()
 
void UnMark ()
 
void MarkAll ()
 Mark all members of this dataset.
 
void UnMarkAll ()
 UnMark all members of this dataset.
 
void InvertAllMarks ()
 Invert mark bit for all members of this dataset.
 
void Mark (UInt_t flag, EBitOpt reset=kSet)
 
virtual TDataSetNext () const
 
virtual TDataSetPrev () const
 
virtual void Update ()
 
virtual void Update (TDataSet *set, UInt_t opt=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 

Protected Member Functions

int vpdResponse (VpdSingleHit &Hit, g2t_vpd_hit_st *vpd_hit, int vId)
 Extracts relevant parameters from a Vpd hit. More...
 
double thresholdCut (std::vector< VpdSingleHit > Hits, std::vector< int > Tube_Counts, TH1F *TubeHits, TH1F *NHits)
 Determines average time information from East and West Vpd, cuts zero-velocity particles. More...
 
int storeMcVpdHit (StMcBTofHit *mcVpdHit)
 Builds the McBTofCollection, insures no duplicate hits.
 
int fillEvent ()
 Fill StEvent from the McBTofCollection. More...
 
int bookHistograms ()
 Creat the QA histograms.
 
- Protected Member Functions inherited from StMaker
StMessMgrGetLogger () const
 
virtual TDataSetFindDataSet (const char *logInput, const StMaker *uppMk=0, const StMaker *dowMk=0) const
 
- Protected Member Functions inherited from TDataSet
virtual void SetMother (TObject *mother)
 
 TDataSet (const char *name, const char *title)
 
void AddMain (TDataSet *set)
 add data set to main data set
 
TDataSetGetRealParent ()
 return real parent
 
void MakeCollection ()
 Create the internal container at once if any.
 

Protected Attributes

StMcBTofHitCollectionmMcBTofHitCollection = nullptr
 The Mc hit collection.
 
St_DataSetmGeantData = nullptr
 Geant data passed into the StVpdSimMaker.
 
StEventmEvent = nullptr
 The StEvent info.
 
StMcEventmMcEvent = nullptr
 The McEvent info.
 
StBTofCollectionmVpdCollection = nullptr
 The StBTofCollection of StBTofHit's (in this case, vpd hits)
 
std::map< int,
StVpdSimConfig::SingleTubeParams
mSimParams
 Map of the calibration parameters to be applied.
 
StVpdSimConfigmSimConfig
 The calibration parameters for Vpd.
 
bool mBookHisto
 Default is kFALSE.
 
bool mUseFileParameters
 Default is kFALSE.
 
string mParamsFileName
 path/name of the calibration file to be passed
 
int mNHits = 0
 
double mVx = 0
 
double mVy = 0
 
double mVz = 0
 
double mSumTubeTime = 0
 Tracks the time measured by each Vpd tube and sums them.
 
double mTubeTAvg = 0
 Average time lapse seen by the east or west Vpd.
 
double mTStart = 0
 Start time for an event.
 
double mTubeTAvgWest = 0
 Corrected event time for the west Vpd.
 
double mTubeTAvgEast = 0
 Corrected event time for the east Vpd.
 
float mVpdVertex = 0
 The calculated vertex as seen by the Vpd.
 
string mHistoFileName = ""
 histogram file name
 
TH1F * mNRawHitsWest
 Number of hits on each west Vpd tube before threshold cuts.
 
TH1F * mNRawHitsEast
 Number of hits on each east Vpd tube before threshold cuts.
 
TH1F * mTubeHitsWest
 Number of hits on each west Vpd tube after threshold cuts.
 
TH1F * mTubeHitsEast
 Number of hits on each east Vpd tube after threshold cuts.
 
TH1F * mNHitsWest
 Number of tubes hit across events for west Vpd.
 
TH1F * mNHitsEast
 Number of tubes hit across events for east Vpd.
 
TH1F * mLeTimeWest
 Leading edge times (currently equal to Time of Flight) for west Vpd.
 
TH1F * mLeTimeEast
 Leading edge times (currently equal to Time of Flight) for east Vpd.
 
TH1F * mTStartHist
 mTStart times (in ns)
 
TH2F * mLeTubeHitsWest
 Leading edge times and Number of tubes hit across events for West Vpd.
 
TH2F * mLeTubeHitsEast
 Leading edge times and Number of tubes hit across events for East Vpd.
 
TH1F * mZVertexHist
 Histogram of the provided Mc Vertices for all events.
 
TH1F * mVpdVertexHist
 Histogram of the calculated Vpd vertices for all events.
 
TH1F * mVpdResHist
 Histogram of the difference between Mc and calculated vertices.
 
TH3F * mResVsNumHits
 Histogram fo the difference between Mc and calculated vertices vs. number of hits.
 
- Protected Attributes inherited from StMaker
TDataSetm_DataSet
 
TDataSetm_ConstSet
 
TDataSetm_GarbSet
 
TDataSetm_Inputs
 
TDataSetm_Ouputs
 list of logInput:ActualInput
 
TDataSetm_Runco
 list of logOuput:ActualOuput
 
TList * m_Histograms
 Run Control parameters.
 
Int_t fTallyMaker [kStFatal+1]
 counters
 
Int_t m_Mode
 counters
 
Int_t m_Number
 Integer mode of maker.
 
Int_t m_LastRun
 Serial event number.
 
Int_t m_DebugLevel
 Last Run number.
 
Int_t m_MakeReturn
 Debug level.
 
TStopwatch m_Timer
 Make() return flag.
 
StMemStatfMemStatMake
 Timer object.
 
StMemStatfMemStatClear
 StMemStat for Make.
 
Int_t fStatus
 StMemStat for Clear.
 
StMessMgrfLogger
 Maker status.
 
StTurnLoggerfLoggerHold
 
- Protected Attributes inherited from TDataSet
TDataSetfParent
 
TSeqCollection * fList
 

Additional Inherited Members

- Public Types inherited from StMaker
enum  EDebugLevel { kNormal, kDebug }
 
enum  { kSTAFCV_BAD, kSTAFCV_OK, kSTAFCV_ERR =2, kSTAFCV_FATAL =3 }
 
enum  EMakerStatus {
  kInitBeg = 1, kInitEnd = 2, kMakeBeg = 3, kCleaBeg = 4,
  kFiniBeg = 5, kFiniEnd = 6, kActive = 7
}
 
- Public Types inherited from TDataSet
enum  EDataSetPass {
  kContinue, kPrune, kStop, kUp,
  kStruct, kAll, kRefs, kMarked
}
 
enum  ESetBits { kMark = BIT(22), kArray = BIT(20) }
 
enum  EBitOpt { kSet = kTRUE, kReset = kFALSE }
 
- Static Public Member Functions inherited from StMaker
static StMakerNew (const char *classname, const char *name="", void *title=0)
 
static StMakerGetTopChain ()
 
static StMakerGetChain ()
 
static StMakerGetFailedMaker ()
 
static StMakerGetMaker (const TDataSet *ds)
 Static functions.
 
static EDataSetPass ClearDS (TDataSet *ds, void *user)
 
static const char * RetCodeAsString (Int_t kode)
 
static Int_t AliasDate (const char *alias)
 
static Int_t AliasTime (const char *alias)
 
static const char * AliasGeometry (const char *alias)
 
static const DbAlias_tGetDbAliases ()
 
static void SetTestMaker (StTestMaker *mk)
 
static Int_t Cleanup (TDataSet *&ds)
 
static void lsMakers (const StMaker *top)
 
- Static Public Member Functions inherited from TDataSet
static TDataSetGetMainSet ()
 return pointer to the main dataset
 
static TDataSetinstance ()
 
- Public Attributes inherited from StMaker
enum StMaker:: { ... }  EModule_return_Status
 
- Static Protected Member Functions inherited from TDataSet
static EDataSetPass SortIt (TDataSet *ds)
 
static EDataSetPass SortIt (TDataSet *ds, void *user)
 
- Static Protected Attributes inherited from StMaker
static StMakerfgTopChain = 0
 list of Histograms
 
static StMakerfgStChain = 0
 pointer to top StChain
 
static StMakerfgFailedMaker = 0
 current pointer to StChain
 
static StTestMakerfgTestMaker = 0
 current pointer to failed maker
 
static Int_t fgTallyMaker [kStFatal+1] = {0,0,0,0,0}
 
- Static Protected Attributes inherited from TDataSet
static TDataSetfgMainSet = &mainSet
 

Detailed Description

Definition at line 46 of file StVpdSimMaker.h.

Constructor & Destructor Documentation

StVpdSimMaker::StVpdSimMaker ( const char *  name = "VpdSim")

Set default values

< Bool for histogram creation

< Choose if calibrations come from file

Definition at line 64 of file StVpdSimMaker.cxx.

StVpdSimMaker::~StVpdSimMaker ( )
virtual

Destructor

Delete any DaqMaps or similar that are no longer needed.

Definition at line 75 of file StVpdSimMaker.cxx.

References mSimConfig.

Member Function Documentation

int StVpdSimMaker::fillEvent ( )
protected

Fill StEvent from the McBTofCollection.

Check for the simulated vertex

Store Collections

Fill the StBTofHit

associated track set in StBTofMatchMaker

Set qaTruth to 1 so simulated hits can be tracked in the Calib Makers

Fill the StBTofRawHit

Fill StBTofHeader

Definition at line 397 of file StVpdSimMaker.cxx.

References kStOK, mBookHisto, mEvent, mMcBTofHitCollection, mMcEvent, mVpdCollection, mZVertexHist, and StMcBTofHit::tof().

Referenced by Make().

int StVpdSimMaker::Finish ( )
virtual

Terminate a run. Place to make operations on histograms, normalization,etc.

Reimplemented from StMaker.

Definition at line 139 of file StVpdSimMaker.cxx.

References kStOK.

int StVpdSimMaker::Init ( )
virtual

Initializer

Reset values, create histograms

Reimplemented from StMaker.

Definition at line 86 of file StVpdSimMaker.cxx.

References bookHistograms(), mBookHisto, and Reset().

int StVpdSimMaker::Make ( )
virtual

The Make() method is the one responsible for calling the maker's InitRun(). Note that that InitRun() is called for real data and if both of the following are true

  • a header exists
  • the run number changes

This is the ONLY place calling the InitRun() routine.

Check to see that there are GEANT hits

in bfc chain

when reading the geant.root file

VertexZ in cm

Look for Vpd hits

Check for vpd_hit (only applies to the first one)

volume id used the tube index

121: west, 122: east

index of the tube [0,18]

Check that tube is within accepted range

Check tray number and status flag of the current tube hit then calculate tof, extract relevant values and append hits to a vector

West Vpd, check that tube is active

If tray is 122, access index must be tubeIndex+19

East Vpd, check that tube is active

singleHit.tubeId runs [1,19]

Make sure there is at least one hit on the west.

Make sure there is at least one hit on the east.

Check for at least one hit on both east and west

check privilege to skip event

Reimplemented from StMaker.

Definition at line 146 of file StVpdSimMaker.cxx.

References fillEvent(), TDataSet::Find(), kStOK, kStWarn, mBookHisto, mGeantData, mLeTimeEast, mLeTimeWest, mLeTubeHitsEast, mLeTubeHitsWest, mMcBTofHitCollection, mMcEvent, mNHitsEast, mNHitsWest, mNRawHitsEast, mNRawHitsWest, mResVsNumHits, mSimConfig, mSimParams, mSumTubeTime, mTStart, mTStartHist, mTubeHitsEast, mTubeHitsWest, mTubeTAvgEast, mTubeTAvgWest, mVpdResHist, mVpdVertex, mVpdVertexHist, thresholdCut(), StVpdSimMaker::VpdSingleHit::tof, StVpdSimMaker::VpdSingleHit::tubeId, and vpdResponse().

void StVpdSimMaker::Reset ( )

Reset values

Definition at line 101 of file StVpdSimMaker.cxx.

References mEvent, mGeantData, mMcBTofHitCollection, mMcEvent, and mSimConfig.

Referenced by Init().

double StVpdSimMaker::thresholdCut ( std::vector< VpdSingleHit Hits,
std::vector< int >  Tube_Counts,
TH1F *  TubeHits,
TH1F *  NHits 
)
protected

Determines average time information from East and West Vpd, cuts zero-velocity particles.

Iterate through each of the 19 tubes

lowTime initially set arbitrarily high

Check if the tube count is over the minimum threshold (default is 1 hit)

Iterate through all the hits

Find the hits corresponding to the current tube (that's over threshold)

Stores the lowest ToF amongst the hits in a tube

Populate zero bin

Pass the hit with the lowest time value to store in the hit collection.

Calculate the average leading edge time for a given Vpd (east or west)

Definition at line 321 of file StVpdSimMaker.cxx.

References mBookHisto, mSimConfig, mSumTubeTime, mTubeTAvg, and storeMcVpdHit().

Referenced by Make().

int StVpdSimMaker::vpdResponse ( VpdSingleHit Hit,
g2t_vpd_hit_st *  vpd_hit,
int  vId 
)
protected

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