To save space I have removed the fUniqueId and fBits using
Data8pi::Class()->IgnoreTObjectStreamer(); //Remove fUniqueId, fBits
for example.
This also has the unwanted side effect of removing the leaves
fH and fK in of the Data class below.
So, how can I save space by removing the unwanted fUniqueId fBits
and keep the UShort_t data fH and fK ?
I also noticed that fNGe, fNBGO and fNCsI (which
are used for the size of the TClonesArrays) are redundant since
the branches fGes, fBGO and fCsI contain this information so I
remove these from the tree using the //! comment. This saved further
space.
ie
tree.Show(13)
======> EVENT:13
fUniqueID = 0
fBits = 50331648
fH = 846
fK = 13
fGes = 1
fGes.fId = 14
fGes.fChan = 1358
fGes.fTac = 141
fCsIs = 2
fCsIs.fId = 10 36
fCsIs.fChan = 747 73
fCsIs.fTac = 2421 1920
Could someone point me in the right direction to help me understand
how I can selectively read the fGes, fCsIs and fBGOs information.....
Many thanks,
Karl
Also below is a partial listing from tree->MakeClass() :
//============================================================================
class Data8pi : public TObject{
private:
UShort_t fH; // BGO ball sum energy
UShort_t fK; // BGO ball multiplicity
UShort_t fNGe; //! HPGe multiplicity : this info is stored in
UShort_t fNBGO; //! BGO multiplicity : the TClonesArray below
UShort_t fNCsI; //! CsI multiplicity : so not wirtten to file
TClonesArray *fGes; // Ge Data (always non-zero)
TClonesArray *fBGOs; // BGO Data
TClonesArray *fCsIs; // CsI Data
static TClonesArray *fgGes; // these are used for
static TClonesArray *fgBGOs; // the initialisation
static TClonesArray *fgCsIs; // of TClonesArray
public:
Data8pi();
virtual ~Data8pi();
void Clear(Option_t *option = "");
static void Reset(Option_t *option = "");
//setters
void SetHK(UShort_t h, UShort_t k) { fH = h; fK = k; }
void AddGe(UShort_t id, UShort_t chan, UShort_t tac);
void AddBGO(UShort_t id, UShort_t chan, UShort_t tac);
void AddCsI(UShort_t id, UShort_t chan, UShort_t tac);
//getters
TClonesArray *GetGes() const {return fGes;}
TClonesArray *GetBGOs() const {return fBGOs;}
TClonesArray *GetCsIs() const {return fCsIs;}
ClassDef (Data8pi,1) //8pi Data class
};
class Ge8pi : public TObject {
private:
UShort_t fId; //Germanium Id
UShort_t fChan; //Germanium chan (8pi => 0.25 keV/chan)
UShort_t fTac; //Germanium TAC wrt RF
public:
Ge8pi() {;}
Ge8pi(UShort_t id, UShort_t chan, UShort_t tac);
virtual ~Ge8pi() {;}
//setters and getters
UShort_t GetId() const {return fId;}
UShort_t GetChan() const {return fChan;}
UShort_t GetTac() const {return fTac;}
ClassDef (Ge8pi,1) //8pi Ge Data class
};
The BGO and CsI classes are the same as Data8pi.
-----------------MakeClass------------------------------------------------
const Int_t kMaxfGes = 4;
const Int_t kMaxfBGOs = 1;
const Int_t kMaxfCsIs = 5;
class T {
public :
TTree *fChain; //pointer to the analyzed TTree or TChain
Int_t fCurrent; //current Tree number in a TChain
//Declaration of leaves types
UInt_t fUniqueID;
UInt_t fBits;
UShort_t fH;
UShort_t fK;
Int_t fGes_;
UShort_t fGes_fId[kMaxfGes];
UShort_t fGes_fChan[kMaxfGes];
UShort_t fGes_fTac[kMaxfGes];
Int_t fBGOs_;
UShort_t fBGOs_fId[kMaxfBGOs];
UShort_t fBGOs_fChan[kMaxfBGOs];
UShort_t fBGOs_fTac[kMaxfBGOs];
Int_t fCsIs_;
UShort_t fCsIs_fId[kMaxfCsIs];
UShort_t fCsIs_fChan[kMaxfCsIs];
UShort_t fCsIs_fTac[kMaxfCsIs];
//List of branches
TBranch *b_fUniqueID;
TBranch *b_fBits;
TBranch *b_fH;
TBranch *b_fK;
TBranch *b_fGes;
TBranch *b_fGes_fId;
TBranch *b_fGes_fChan;
TBranch *b_fGes_fTac;
TBranch *b_fBGOs;
TBranch *b_fBGOs_fId;
TBranch *b_fBGOs_fChan;
TBranch *b_fBGOs_fTac;
TBranch *b_fCsIs;
TBranch *b_fCsIs_fId;
TBranch *b_fCsIs_fChan;
TBranch *b_fCsIs_fTac;
T(TTree *tree=0);
~T();
Int_t Cut(Int_t entry);
Int_t GetEntry(Int_t entry);
Int_t LoadTree(Int_t entry);
void Init(TTree *tree);
void Loop();
Bool_t Notify();
void Show(Int_t entry = -1);
};
#endif
==========================================================================
CEA Saclay, DAPNIA/SPhN Phone : (33) 01 69 08 7553
Bat 703 - l'Orme des Merisiers Fax : (33) 01 69 08 7584
F-91191 Gif-sur-Yvette E-mail : khauschild@cea.fr
France karl_hauschild@yahoo.co.uk
WWW: http://www-dapnia.cea.fr/Sphn
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:08 MET