TRootDS
class description - source file - inheritance tree (.pdf)
public:
TRootDS()
TRootDS(const TRootDS&)
virtual ~TRootDS()
Bool_t CheckV0(vertex_t* vtx_p)
Bool_t CheckXi(vertex_t* vtx_p)
static TClass* Class()
virtual Bool_t Close()
virtual Bool_t CloseDS()
virtual TTree* CreateTree()
virtual Bool_t DS2Tree(Char_t* InFMDirName, Char_t* OutDirName, Char_t* OutFileName, Int_t nEvent = 1000)
virtual Bool_t DS2Tree(Char_t* InName, Char_t* OutName, Int_t MaxEvents = 100000000)
Bool_t FillBeam(T49Beam* out, beam_t* in)
virtual Bool_t FillEvent()
Bool_t FillMonitor(T49MonitorTPC* out, monitor_tpc_t* in)
Bool_t FillRing(T49Ring* out, ring_t* in)
Bool_t FillSecTrack(T49ParticleRoot* track_out, track_t* track_in, Bool_t main)
Bool_t FillSecVertex(T49VertexRoot* vertex_out, vertex_t* vertex_in)
Bool_t FillTrack(T49ParticleRoot* track_out, g_track_ref_t* track_ref, Bool_t tof)
Bool_t FillVertex(T49VertexRoot* vertex_out, vertex_t* vertex_in)
Bool_t FillVeto(T49Veto* out, veto_t* in, pedestal_t* ped)
Bool_t FillXiVertex(T49VertexRoot* vertex_out, vertex_t* vertex_in)
virtual Bool_t GetDSFlag()
virtual Bool_t GetDSpackInitialized()
virtual Bool_t GetDSpackOk()
virtual T49EventRoot* GetEvent()
virtual void* IdsgetDS(Char_t* ObjName, Int_t* handle, Int_t* num)
virtual Bool_t InitDS(Char_t* name, Int_t mode = 0, Int_t db = 0)
virtual TClass* IsA() const
virtual Bool_t OpenDS(Char_t* filename, Int_t db = 0)
TRootDS& operator=(const TRootDS&)
virtual Bool_t ReadEventDS()
virtual Bool_t ReadEventT49()
void SetCheckV0(Bool_t n)
void SetFillPrimary(Bool_t n)
void SetFillSecondary(Bool_t n)
void SetFillXis(Bool_t n)
void SetFullSecondary(Int_t n)
void SetNormalizedDedx(Bool_t n)
void SetRFIO(Bool_t n)
void SetSkipEvents()
void SetUseEmptyADC(Bool_t n)
void SetUseMTPCPoints(Bool_t n)
void SetVerbose(Int_t n)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Int_t fInfileId ID number of the DSPACK input file
Bool_t fDSpackLocal DSPACK mode
Bool_t fDSpackInitialized DSPACK intialization flag
Bool_t fDSpackOk DSPACK status flag
Bool_t fRFIO Switch for RFIO
Int_t fNumTracks Number of primary tracks
Int_t fNumSecTracks Number of secondary tracks
Int_t fNumSecVertices Number of secondary vertices
Bool_t fFillPrimary Switch for primary tracks and vertices
Bool_t fFillSecondary Switch for secondary tracks and vertices
Bool_t fFillXis Switch for Xi tracks and vertices
Bool_t fNormalizedDedx Dedx values are normalized if TRUE
Bool_t fUseMTPCPoints Copy only coordinates of MTPC points if TRUE
Bool_t fUseEmptyADC Copy "empty" beam-ADC if TRUE
Bool_t fCheckV0 Switch for V0 cuts during copying
Int_t fFullSecondary Switch for the secondary tracks (0: min, 1: +dEdx, 2: +loc point)
Int_t fSkipRun[50] List of runs and events to be skipped
Int_t fSkipEvt[50]
Int_t fSkipCnt[50]
Int_t fSkipFound Number of events to be skipped
Int_t fVerbose ! Controls debugging output
Char_t* fInfile !
Char_t* fOutfile !
TFile* fRootFile !
T49EventRoot* fEvent !
TTree* fTree !
The TRootDS class provides an interface between the
NA49 Standard C data structures and the NA49
ROOT data objects. It provides several member
functions for copying data into a ROOT mini-DST,
dropping some non-essential information. The mini-
DST is designed as the basis for the NA49 DST analysis,
with the emphasis on fast I/O and flexible interactive
analysis using standard tools within the ROOT
environment.
Changing the mini-DST format requires changes or
additions to both the ROOT NA49 Data classes (like
T49ParticleRoot) and the filling routines inside TRootDS.
As the total data throughput will be on the order
of many hundred GBytes, the DST format will not be
changed frequently. The present approach therefore
seems appropriate.
TRootDS can also be used to interactively access
data stored in DSPACK files on the command line or
in ROOT macros.
The OpenDS() and IdsgetDS() member functions can be
used to obtain pointers to the data structures from
DSPACK. The standard NA49 data structures (including
the mc structures) are automatically available if the
'rootds' executable is used. See the root49 web page
for details.
Author: G. Roland
Changed: C. Blume
Added secondary vertices and tracks.
TRootDS()
Bool_t InitDS(Char_t *name, Int_t mode, Int_t db)
Start DSPACK locally or connect to server
Bool_t OpenDS(char *filename,Int_t db)
Open a DSPACK file with the specified filename
~TRootDS()
TRootDS destructor
Bool_t CloseDS()
Close the DSPACK input file
Bool_t ReadEventDS()
Read the next event from the DSPACK input file
Returns FALSE if end of input file is reached
Bool_t ReadEventT49()
Read the next event from the DSPACK input file
and copies it directly into the T49 data structure.
This allows to use the T49ANA classes on DSPACK data.
Returns FALSE if end of input file is reached.
Bool_t DS2Tree(Char_t *InFMDirName, Char_t *OutDirName
, Char_t *OutFileName, Int_t nEvent)
Copy the events from the FATMAN directory 'InFMDirName' (DSPACK)
into several ROOT mini-DST files 'OutFileName' in the directory
'OutDirName'. After copying 'nEvent' events one file is closed and
the next one is opened. To the filename 'OutFileName' automatically
the extension .N.root ist appended, where 'N' is the file number.
Bool_t DS2Tree(Char_t *InFname, Char_t *OutFname, Int_t MaxEvents)
Copy the events from the input file 'InFname' (DSPACK)
to the ROOT mini-DST 'OutFname'. Up to MaxEvents are
copied. The ROOT T49EventRoot objects are written to the
mini-DST in a ROOT TTree object, which allows access to
the event data in an n-tuple like fashion
Bool_t Close()
Close the ROOT mini-DST output file
TTree* CreateTree()
Create the TTree object for the DS2Tree member
function.
Bool_t FillEvent()
Copy event, track and vertex data into ROOT NA49
objects for the current event.
Updated for V0-tracks and vertices (CBL 10/02/99)
Bool_t CheckV0(vertex_t *vtx_p)
Defines a good V0
Bool_t CheckXi(vertex_t *vtx_p)
Defines a good Xi candidate
Bool_t FillVertex(T49VertexRoot *vertex_out, vertex_t *vertex_in)
Copy data from vertex_t structure for main vertex
into T49VertexRoot object.
Bool_t FillSecVertex(T49VertexRoot *vertex_out, vertex_t *vertex_in)
Copy data from vertex_t structure for V0s into
T49VertexRoot object.
Bool_t FillXiVertex(T49VertexRoot *vertex_out, vertex_t *vertex_in)
Copy data from vertex_t structure for Xis into
T49VertexRoot object.
Bool_t FillTrack(T49ParticleRoot *track_out, g_track_ref_t *track_ref
, Bool_t tof)
Copy data from track_t structure into T49ParticleRoot
object. <tof> = kTRUE also copied the TOF information.
Bool_t FillSecTrack(T49ParticleRoot *track_out, track_t *track_in
, Bool_t main)
Copy data from track_t structure into T49ParticleRoot
object for secondary tracks (reduced information)
Bool_t FillRing(T49Ring *out, ring_t *in)
Copies data from the ring_cal_t structure into
T49RingRoot
Bool_t FillVeto(T49Veto *out, veto_t *in, pedestal_t *ped)
Copies data from the veto_t structure into
T49VetoRoot
Bool_t FillBeam(T49Beam *out, beam_t *in)
Copies data from the beam_t structure into
T49BeamRoot
Bool_t FillMonitor(T49MonitorTPC *out, monitor_tpc_t *in)
Copies data from the monitor_tpc_t structure into
T49MonitorTPCRoot
void* IdsgetDS(char *ObjName,Int_t *handle, Int_t *num)
Interface to the DSPACK idsget() function with identical calling sequence
void SetVerbose(Int_t n)
void SetSkipEvents()
Enable the list of events that should be skipped
during copying. The list is read from the file
skipevents.d.
Inline Functions
void SetFillPrimary(Bool_t n)
void SetFillSecondary(Bool_t n)
void SetFillXis(Bool_t n)
void SetFullSecondary(Int_t n)
void SetNormalizedDedx(Bool_t n)
void SetUseMTPCPoints(Bool_t n)
void SetUseEmptyADC(Bool_t n)
void SetCheckV0(Bool_t n)
void SetRFIO(Bool_t n)
Bool_t GetDSpackOk()
Bool_t GetDSFlag()
Bool_t GetDSpackInitialized()
T49EventRoot* GetEvent()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TRootDS TRootDS(const TRootDS&)
TRootDS& operator=(const TRootDS&)
Last update: Thu Aug 17 15:34:31 2006
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.