#include "TRootDS.h"

TRootDS


class description - source file - inheritance tree (.pdf)

class TRootDS : public TObject

Inheritance Chart:
TObject
<-
TRootDS
<-
TRootDSMC
TRootDSmini

    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)

Data Members


    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 !

Class Description

  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.