Howdy rooters. Processing some trees with a class inheriting from a TSelector I noticed some unexpected RTTI info. I've made the attached MySelector which illustrates the problem on ROOT checked out from CVS yesterday (Feb. 24th) and compiled on an x86 running RH8.0. First I create an instance of TChain and add two files to it, the trees in the files and the instance of TChain having the same name. Then I call TTree::MakeSelector(<selector name>), i.e. the member of my chain. The only lines I add to the output from TTree::MakeSelector("MySelector") are the following lines at the end of MySelector::Begin(TTree* tree): Info("Begin", "fChain is %s", fChain->ClassName()); Info("Begin", "\n\tfChain->Class() = 0x%x \n\tTChain::Class() = 0x%x \n\tTTree::Class() = 0x%x", fChain->Class(), TChain::Class(), TTree::Class()); When I run TChain::Process("MySelector.C") the output from MySelector::Begin(TTree* tree) is the following: .... Info in <TSelector::Begin>: fChain is TChain Info in <TSelector::Begin>: fChain->Class() = 0x8c59948 TChain::Class() = 0x916d3d0 TTree::Class() = 0x8c59948 .... So, on the one hand fChain clames to be an instance of TChain (the first line) while its TClass pointer indicates that it is an instance of TTree. Is this the intention? Best wishes from Jens Ivar -- _____________________________________________________ ________| Jens Ivar Jřrdre |_______ \ | Dept. of Physics Office: 521 | / \ | Allégt 55 Phone: +47 55 58 27 92 | / \ | 5007 Bergen Fax: +47 55 58 94 40 | / / | Norway E-mail: jensivar.jordre@fi.uib.no | \ / |_____________________________________________________| \ /__________) (_________\ ////////////////////////////////////////////////////////// // This class has been automatically generated // (Tue Feb 25 20:48:46 2003 by ROOT version3.05/02) // from TChain T1/ ////////////////////////////////////////////////////////// #ifndef MySelector_h #define MySelector_h #include <TROOT.h> #include <TChain.h> #include <TFile.h> #include <TSelector.h> const Int_t kMaxG = 1; const Int_t kMaxFS = 10; const Int_t kMaxT1RDO = 1; const Int_t kMaxT2RDO = 1; class MySelector : public TSelector { public : TTree *fChain; //!pointer to the analyzed TTree or TChain //Declaration of leaves types Int_t G_; Int_t G_fTrigger[kMaxG]; //[G_] UShort_t G_fBbMethod[kMaxG]; //[G_] UShort_t G_fNoMrsTrack[kMaxG]; //[G_] UShort_t G_fNoFfsTrack[kMaxG]; //[G_] UShort_t G_fNoBfsTrack[kMaxG]; //[G_] UShort_t G_fNoT1Track[kMaxG]; //[G_] UShort_t G_fNoT2Track[kMaxG]; //[G_] UShort_t G_fNoT3Track[kMaxG]; //[G_] UShort_t G_fNoT4Track[kMaxG]; //[G_] UShort_t G_fNoT5Track[kMaxG]; //[G_] UShort_t G_fNoTpm1Track[kMaxG]; //[G_] UShort_t G_fNoTpm2Track[kMaxG]; //[G_] UShort_t G_fRunNumber[kMaxG]; //[G_] UShort_t G_fEventNumber[kMaxG]; //[G_] Float_t G_fBbVtxZ[kMaxG]; //[G_] Float_t G_fTMACent[kMaxG]; //[G_] Float_t G_fTMAMult[kMaxG]; //[G_] Float_t G_fSiCent[kMaxG]; //[G_] Float_t G_fSiMult[kMaxG]; //[G_] Float_t G_fCent[kMaxG]; //[G_] Float_t G_fZdcVtxZ[kMaxG]; //[G_] Float_t G_fZdcCfdVtxZ[kMaxG]; //[G_] Float_t G_fZdcEnergy[kMaxG]; //[G_] Int_t FS_; Float_t FS_fTheta[kMaxFS]; //[FS_] Float_t FS_fPhi[kMaxFS]; //[FS_] Float_t FS_fVtxX[kMaxFS]; //[FS_] Float_t FS_fVtxY[kMaxFS]; //[FS_] Float_t FS_fVtxZ[kMaxFS]; //[FS_] Int_t FS_fSwimD1[kMaxFS]; //[FS_] Int_t FS_fH1slat[kMaxFS]; //[FS_] Float_t FS_fH1x[kMaxFS]; //[FS_] Float_t FS_fH1y[kMaxFS]; //[FS_] Double_t FS_fT1_fOrigin_fX[kMaxFS]; //[FS_] Double_t FS_fT1_fOrigin_fY[kMaxFS]; //[FS_] Double_t FS_fT1_fOrigin_fZ[kMaxFS]; //[FS_] Double_t FS_fT1_fDirection_fX[kMaxFS]; //[FS_] Double_t FS_fT1_fDirection_fY[kMaxFS]; //[FS_] Double_t FS_fT1_fDirection_fZ[kMaxFS]; //[FS_] Float_t FS_fT1_fQuality[kMaxFS]; //[FS_] Float_t FS_fD2_fDy[kMaxFS]; //[FS_] Float_t FS_fD2_fDang[kMaxFS]; //[FS_] Float_t FS_fD2_fDay[kMaxFS]; //[FS_] Float_t FS_fD2_fChi2[kMaxFS]; //[FS_] Float_t FS_fD2_fP[kMaxFS]; //[FS_] Int_t FS_fD2_fStatus[kMaxFS]; //[FS_] Double_t FS_fT2_fOrigin_fX[kMaxFS]; //[FS_] Double_t FS_fT2_fOrigin_fY[kMaxFS]; //[FS_] Double_t FS_fT2_fOrigin_fZ[kMaxFS]; //[FS_] Double_t FS_fT2_fDirection_fX[kMaxFS]; //[FS_] Double_t FS_fT2_fDirection_fY[kMaxFS]; //[FS_] Double_t FS_fT2_fDirection_fZ[kMaxFS]; //[FS_] Float_t FS_fT2_fQuality[kMaxFS]; //[FS_] Int_t FS_fH1_fSlat[kMaxFS]; //[FS_] Float_t FS_fH1_fDx[kMaxFS]; //[FS_] Float_t FS_fH1_fDy[kMaxFS]; //[FS_] Float_t FS_fH1_fBeta[kMaxFS]; //[FS_] Float_t FS_fH1_fLength[kMaxFS]; //[FS_] Float_t FS_fH1_fMass2[kMaxFS]; //[FS_] Float_t FS_fH1_fEnergy[kMaxFS]; //[FS_] Float_t FS_fC1_fEnergy[kMaxFS]; //[FS_] Short_t FS_fT2UsedInBfs[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fOrigin_fX[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fOrigin_fY[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fOrigin_fZ[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fDirection_fX[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fDirection_fY[kMaxFS]; //[FS_] Double_t FS_fBfsFront_fDirection_fZ[kMaxFS]; //[FS_] Float_t FS_fBfsFront_fQuality[kMaxFS]; //[FS_] Float_t FS_fD3_fDy[kMaxFS]; //[FS_] Float_t FS_fD3_fDang[kMaxFS]; //[FS_] Float_t FS_fD3_fDay[kMaxFS]; //[FS_] Float_t FS_fD3_fChi2[kMaxFS]; //[FS_] Float_t FS_fD3_fP[kMaxFS]; //[FS_] Int_t FS_fD3_fStatus[kMaxFS]; //[FS_] Double_t FS_fT4_fOrigin_fX[kMaxFS]; //[FS_] Double_t FS_fT4_fOrigin_fY[kMaxFS]; //[FS_] Double_t FS_fT4_fOrigin_fZ[kMaxFS]; //[FS_] Double_t FS_fT4_fDirection_fX[kMaxFS]; //[FS_] Double_t FS_fT4_fDirection_fY[kMaxFS]; //[FS_] Double_t FS_fT4_fDirection_fZ[kMaxFS]; //[FS_] Float_t FS_fT4_fQuality[kMaxFS]; //[FS_] Float_t FS_fD4_fDy[kMaxFS]; //[FS_] Float_t FS_fD4_fDang[kMaxFS]; //[FS_] Float_t FS_fD4_fDay[kMaxFS]; //[FS_] Float_t FS_fD4_fChi2[kMaxFS]; //[FS_] Float_t FS_fD4_fP[kMaxFS]; //[FS_] Int_t FS_fD4_fStatus[kMaxFS]; //[FS_] Double_t FS_fT5_fOrigin_fX[kMaxFS]; //[FS_] Double_t FS_fT5_fOrigin_fY[kMaxFS]; //[FS_] Double_t FS_fT5_fOrigin_fZ[kMaxFS]; //[FS_] Double_t FS_fT5_fDirection_fX[kMaxFS]; //[FS_] Double_t FS_fT5_fDirection_fY[kMaxFS]; //[FS_] Double_t FS_fT5_fDirection_fZ[kMaxFS]; //[FS_] Float_t FS_fT5_fQuality[kMaxFS]; //[FS_] Int_t FS_fH2_fSlat[kMaxFS]; //[FS_] Float_t FS_fH2_fDx[kMaxFS]; //[FS_] Float_t FS_fH2_fDy[kMaxFS]; //[FS_] Float_t FS_fH2_fBeta[kMaxFS]; //[FS_] Float_t FS_fH2_fLength[kMaxFS]; //[FS_] Float_t FS_fH2_fMass2[kMaxFS]; //[FS_] Float_t FS_fH2_fEnergy[kMaxFS]; //[FS_] Int_t FS_fH2slat[kMaxFS]; //[FS_] Float_t FS_fH2x[kMaxFS]; //[FS_] Float_t FS_fH2y[kMaxFS]; //[FS_] Float_t FS_fRich_fRadius[kMaxFS]; //[FS_] Float_t FS_fRich_fMass[kMaxFS]; //[FS_] Int_t FS_fRich_fHits[kMaxFS]; //[FS_] BrTpcRdo *T1RDO.; UInt_t T1RDO_BrDataObject_fUniqueID; UInt_t T1RDO_BrDataObject_fBits; UChar_t T1RDO_BrDataObject_fIsPersistent; Char_t T1RDO_BrDataObject_fName[64]; Char_t T1RDO_BrDataObject_fTitle[64]; Int_t T1RDO_fNclusters; Int_t T1RDO_fCStatus; Int_t T1RDO_fNseqs; Int_t T1RDO_fNallHits; Int_t T1RDO_fNtrack; Int_t T1RDO_fNsingleHit; Int_t T1RDO_fNsingleHitDec; Int_t T1RDO_fNmultHitDec; BrTpcRdo *T2RDO.; UInt_t T2RDO_BrDataObject_fUniqueID; UInt_t T2RDO_BrDataObject_fBits; UChar_t T2RDO_BrDataObject_fIsPersistent; Char_t T2RDO_BrDataObject_fName[64]; Char_t T2RDO_BrDataObject_fTitle[64]; Int_t T2RDO_fNclusters; Int_t T2RDO_fCStatus; Int_t T2RDO_fNseqs; Int_t T2RDO_fNallHits; Int_t T2RDO_fNtrack; Int_t T2RDO_fNsingleHit; Int_t T2RDO_fNsingleHitDec; Int_t T2RDO_fNmultHitDec; //List of branches TBranch *b_G_; //! TBranch *b_G_fTrigger; //! TBranch *b_G_fBbMethod; //! TBranch *b_G_fNoMrsTrack; //! TBranch *b_G_fNoFfsTrack; //! TBranch *b_G_fNoBfsTrack; //! TBranch *b_G_fNoT1Track; //! TBranch *b_G_fNoT2Track; //! TBranch *b_G_fNoT3Track; //! TBranch *b_G_fNoT4Track; //! TBranch *b_G_fNoT5Track; //! TBranch *b_G_fNoTpm1Track; //! TBranch *b_G_fNoTpm2Track; //! TBranch *b_G_fRunNumber; //! TBranch *b_G_fEventNumber; //! TBranch *b_G_fBbVtxZ; //! TBranch *b_G_fTMACent; //! TBranch *b_G_fTMAMult; //! TBranch *b_G_fSiCent; //! TBranch *b_G_fSiMult; //! TBranch *b_G_fCent; //! TBranch *b_G_fZdcVtxZ; //! TBranch *b_G_fZdcCfdVtxZ; //! TBranch *b_G_fZdcEnergy; //! TBranch *b_FS_; //! TBranch *b_FS_fTheta; //! TBranch *b_FS_fPhi; //! TBranch *b_FS_fVtxX; //! TBranch *b_FS_fVtxY; //! TBranch *b_FS_fVtxZ; //! TBranch *b_FS_fSwimD1; //! TBranch *b_FS_fH1slat; //! TBranch *b_FS_fH1x; //! TBranch *b_FS_fH1y; //! TBranch *b_FS_fT1_fOrigin_fX; //! TBranch *b_FS_fT1_fOrigin_fY; //! TBranch *b_FS_fT1_fOrigin_fZ; //! TBranch *b_FS_fT1_fDirection_fX; //! TBranch *b_FS_fT1_fDirection_fY; //! TBranch *b_FS_fT1_fDirection_fZ; //! TBranch *b_FS_fT1_fQuality; //! TBranch *b_FS_fD2_fDy; //! TBranch *b_FS_fD2_fDang; //! TBranch *b_FS_fD2_fDay; //! TBranch *b_FS_fD2_fChi2; //! TBranch *b_FS_fD2_fP; //! TBranch *b_FS_fD2_fStatus; //! TBranch *b_FS_fT2_fOrigin_fX; //! TBranch *b_FS_fT2_fOrigin_fY; //! TBranch *b_FS_fT2_fOrigin_fZ; //! TBranch *b_FS_fT2_fDirection_fX; //! TBranch *b_FS_fT2_fDirection_fY; //! TBranch *b_FS_fT2_fDirection_fZ; //! TBranch *b_FS_fT2_fQuality; //! TBranch *b_FS_fH1_fSlat; //! TBranch *b_FS_fH1_fDx; //! TBranch *b_FS_fH1_fDy; //! TBranch *b_FS_fH1_fBeta; //! TBranch *b_FS_fH1_fLength; //! TBranch *b_FS_fH1_fMass2; //! TBranch *b_FS_fH1_fEnergy; //! TBranch *b_FS_fC1_fEnergy; //! TBranch *b_FS_fT2UsedInBfs; //! TBranch *b_FS_fBfsFront_fOrigin_fX; //! TBranch *b_FS_fBfsFront_fOrigin_fY; //! TBranch *b_FS_fBfsFront_fOrigin_fZ; //! TBranch *b_FS_fBfsFront_fDirection_fX; //! TBranch *b_FS_fBfsFront_fDirection_fY; //! TBranch *b_FS_fBfsFront_fDirection_fZ; //! TBranch *b_FS_fBfsFront_fQuality; //! TBranch *b_FS_fD3_fDy; //! TBranch *b_FS_fD3_fDang; //! TBranch *b_FS_fD3_fDay; //! TBranch *b_FS_fD3_fChi2; //! TBranch *b_FS_fD3_fP; //! TBranch *b_FS_fD3_fStatus; //! TBranch *b_FS_fT4_fOrigin_fX; //! TBranch *b_FS_fT4_fOrigin_fY; //! TBranch *b_FS_fT4_fOrigin_fZ; //! TBranch *b_FS_fT4_fDirection_fX; //! TBranch *b_FS_fT4_fDirection_fY; //! TBranch *b_FS_fT4_fDirection_fZ; //! TBranch *b_FS_fT4_fQuality; //! TBranch *b_FS_fD4_fDy; //! TBranch *b_FS_fD4_fDang; //! TBranch *b_FS_fD4_fDay; //! TBranch *b_FS_fD4_fChi2; //! TBranch *b_FS_fD4_fP; //! TBranch *b_FS_fD4_fStatus; //! TBranch *b_FS_fT5_fOrigin_fX; //! TBranch *b_FS_fT5_fOrigin_fY; //! TBranch *b_FS_fT5_fOrigin_fZ; //! TBranch *b_FS_fT5_fDirection_fX; //! TBranch *b_FS_fT5_fDirection_fY; //! TBranch *b_FS_fT5_fDirection_fZ; //! TBranch *b_FS_fT5_fQuality; //! TBranch *b_FS_fH2_fSlat; //! TBranch *b_FS_fH2_fDx; //! TBranch *b_FS_fH2_fDy; //! TBranch *b_FS_fH2_fBeta; //! TBranch *b_FS_fH2_fLength; //! TBranch *b_FS_fH2_fMass2; //! TBranch *b_FS_fH2_fEnergy; //! TBranch *b_FS_fH2slat; //! TBranch *b_FS_fH2x; //! TBranch *b_FS_fH2y; //! TBranch *b_FS_fRich_fRadius; //! TBranch *b_FS_fRich_fMass; //! TBranch *b_FS_fRich_fHits; //! TBranch *b_T1RDO_BrDataObject_fUniqueID; //! TBranch *b_T1RDO_BrDataObject_fBits; //! TBranch *b_T1RDO_BrDataObject_fIsPersistent; //! TBranch *b_T1RDO_BrDataObject_fName; //! TBranch *b_T1RDO_BrDataObject_fTitle; //! TBranch *b_T1RDO_fNclusters; //! TBranch *b_T1RDO_fCStatus; //! TBranch *b_T1RDO_fNseqs; //! TBranch *b_T1RDO_fNallHits; //! TBranch *b_T1RDO_fNtrack; //! TBranch *b_T1RDO_fNsingleHit; //! TBranch *b_T1RDO_fNsingleHitDec; //! TBranch *b_T1RDO_fNmultHitDec; //! TBranch *b_T2RDO_BrDataObject_fUniqueID; //! TBranch *b_T2RDO_BrDataObject_fBits; //! TBranch *b_T2RDO_BrDataObject_fIsPersistent; //! TBranch *b_T2RDO_BrDataObject_fName; //! TBranch *b_T2RDO_BrDataObject_fTitle; //! TBranch *b_T2RDO_fNclusters; //! TBranch *b_T2RDO_fCStatus; //! TBranch *b_T2RDO_fNseqs; //! TBranch *b_T2RDO_fNallHits; //! TBranch *b_T2RDO_fNtrack; //! TBranch *b_T2RDO_fNsingleHit; //! TBranch *b_T2RDO_fNsingleHitDec; //! TBranch *b_T2RDO_fNmultHitDec; //! MySelector(TTree *tree=0) { } ~MySelector() { } void Begin(TTree *tree); void Init(TTree *tree); Bool_t Notify(); Bool_t Process(Int_t entry); Bool_t ProcessCut(Int_t entry); void ProcessFill(Int_t entry); void SetOption(const char *option) { fOption = option; } void SetObject(TObject *obj) { fObject = obj; } void SetInputList(TList *input) {fInput = input;} TList *GetOutputList() const { return fOutput; } void Terminate(); ClassDef(MySelector,0); }; #endif #ifdef MySelector_cxx void MySelector::Init(TTree *tree) { // Set branch addresses if (tree == 0) return; fChain = tree; fChain->SetMakeClass(1); fChain->SetBranchAddress("G",&G_); fChain->SetBranchAddress("G.fTrigger",G_fTrigger); fChain->SetBranchAddress("G.fBbMethod",G_fBbMethod); fChain->SetBranchAddress("G.fNoMrsTrack",G_fNoMrsTrack); fChain->SetBranchAddress("G.fNoFfsTrack",G_fNoFfsTrack); fChain->SetBranchAddress("G.fNoBfsTrack",G_fNoBfsTrack); fChain->SetBranchAddress("G.fNoT1Track",G_fNoT1Track); fChain->SetBranchAddress("G.fNoT2Track",G_fNoT2Track); fChain->SetBranchAddress("G.fNoT3Track",G_fNoT3Track); fChain->SetBranchAddress("G.fNoT4Track",G_fNoT4Track); fChain->SetBranchAddress("G.fNoT5Track",G_fNoT5Track); fChain->SetBranchAddress("G.fNoTpm1Track",G_fNoTpm1Track); fChain->SetBranchAddress("G.fNoTpm2Track",G_fNoTpm2Track); fChain->SetBranchAddress("G.fRunNumber",G_fRunNumber); fChain->SetBranchAddress("G.fEventNumber",G_fEventNumber); fChain->SetBranchAddress("G.fBbVtxZ",G_fBbVtxZ); fChain->SetBranchAddress("G.fTMACent",G_fTMACent); fChain->SetBranchAddress("G.fTMAMult",G_fTMAMult); fChain->SetBranchAddress("G.fSiCent",G_fSiCent); fChain->SetBranchAddress("G.fSiMult",G_fSiMult); fChain->SetBranchAddress("G.fCent",G_fCent); fChain->SetBranchAddress("G.fZdcVtxZ",G_fZdcVtxZ); fChain->SetBranchAddress("G.fZdcCfdVtxZ",G_fZdcCfdVtxZ); fChain->SetBranchAddress("G.fZdcEnergy",G_fZdcEnergy); fChain->SetBranchAddress("FS",&FS_); fChain->SetBranchAddress("FS.fTheta",FS_fTheta); fChain->SetBranchAddress("FS.fPhi",FS_fPhi); fChain->SetBranchAddress("FS.fVtxX",FS_fVtxX); fChain->SetBranchAddress("FS.fVtxY",FS_fVtxY); fChain->SetBranchAddress("FS.fVtxZ",FS_fVtxZ); fChain->SetBranchAddress("FS.fSwimD1",FS_fSwimD1); fChain->SetBranchAddress("FS.fH1slat",FS_fH1slat); fChain->SetBranchAddress("FS.fH1x",FS_fH1x); fChain->SetBranchAddress("FS.fH1y",FS_fH1y); fChain->SetBranchAddress("FS.fT1.fOrigin.fX",FS_fT1_fOrigin_fX); fChain->SetBranchAddress("FS.fT1.fOrigin.fY",FS_fT1_fOrigin_fY); fChain->SetBranchAddress("FS.fT1.fOrigin.fZ",FS_fT1_fOrigin_fZ); fChain->SetBranchAddress("FS.fT1.fDirection.fX",FS_fT1_fDirection_fX); fChain->SetBranchAddress("FS.fT1.fDirection.fY",FS_fT1_fDirection_fY); fChain->SetBranchAddress("FS.fT1.fDirection.fZ",FS_fT1_fDirection_fZ); fChain->SetBranchAddress("FS.fT1.fQuality",FS_fT1_fQuality); fChain->SetBranchAddress("FS.fD2.fDy",FS_fD2_fDy); fChain->SetBranchAddress("FS.fD2.fDang",FS_fD2_fDang); fChain->SetBranchAddress("FS.fD2.fDay",FS_fD2_fDay); fChain->SetBranchAddress("FS.fD2.fChi2",FS_fD2_fChi2); fChain->SetBranchAddress("FS.fD2.fP",FS_fD2_fP); fChain->SetBranchAddress("FS.fD2.fStatus",FS_fD2_fStatus); fChain->SetBranchAddress("FS.fT2.fOrigin.fX",FS_fT2_fOrigin_fX); fChain->SetBranchAddress("FS.fT2.fOrigin.fY",FS_fT2_fOrigin_fY); fChain->SetBranchAddress("FS.fT2.fOrigin.fZ",FS_fT2_fOrigin_fZ); fChain->SetBranchAddress("FS.fT2.fDirection.fX",FS_fT2_fDirection_fX); fChain->SetBranchAddress("FS.fT2.fDirection.fY",FS_fT2_fDirection_fY); fChain->SetBranchAddress("FS.fT2.fDirection.fZ",FS_fT2_fDirection_fZ); fChain->SetBranchAddress("FS.fT2.fQuality",FS_fT2_fQuality); fChain->SetBranchAddress("FS.fH1.fSlat",FS_fH1_fSlat); fChain->SetBranchAddress("FS.fH1.fDx",FS_fH1_fDx); fChain->SetBranchAddress("FS.fH1.fDy",FS_fH1_fDy); fChain->SetBranchAddress("FS.fH1.fBeta",FS_fH1_fBeta); fChain->SetBranchAddress("FS.fH1.fLength",FS_fH1_fLength); fChain->SetBranchAddress("FS.fH1.fMass2",FS_fH1_fMass2); fChain->SetBranchAddress("FS.fH1.fEnergy",FS_fH1_fEnergy); fChain->SetBranchAddress("FS.fC1.fEnergy",FS_fC1_fEnergy); fChain->SetBranchAddress("FS.fT2UsedInBfs",FS_fT2UsedInBfs); fChain->SetBranchAddress("FS.fBfsFront.fOrigin.fX",FS_fBfsFront_fOrigin_fX); fChain->SetBranchAddress("FS.fBfsFront.fOrigin.fY",FS_fBfsFront_fOrigin_fY); fChain->SetBranchAddress("FS.fBfsFront.fOrigin.fZ",FS_fBfsFront_fOrigin_fZ); fChain->SetBranchAddress("FS.fBfsFront.fDirection.fX",FS_fBfsFront_fDirection_fX); fChain->SetBranchAddress("FS.fBfsFront.fDirection.fY",FS_fBfsFront_fDirection_fY); fChain->SetBranchAddress("FS.fBfsFront.fDirection.fZ",FS_fBfsFront_fDirection_fZ); fChain->SetBranchAddress("FS.fBfsFront.fQuality",FS_fBfsFront_fQuality); fChain->SetBranchAddress("FS.fD3.fDy",FS_fD3_fDy); fChain->SetBranchAddress("FS.fD3.fDang",FS_fD3_fDang); fChain->SetBranchAddress("FS.fD3.fDay",FS_fD3_fDay); fChain->SetBranchAddress("FS.fD3.fChi2",FS_fD3_fChi2); fChain->SetBranchAddress("FS.fD3.fP",FS_fD3_fP); fChain->SetBranchAddress("FS.fD3.fStatus",FS_fD3_fStatus); fChain->SetBranchAddress("FS.fT4.fOrigin.fX",FS_fT4_fOrigin_fX); fChain->SetBranchAddress("FS.fT4.fOrigin.fY",FS_fT4_fOrigin_fY); fChain->SetBranchAddress("FS.fT4.fOrigin.fZ",FS_fT4_fOrigin_fZ); fChain->SetBranchAddress("FS.fT4.fDirection.fX",FS_fT4_fDirection_fX); fChain->SetBranchAddress("FS.fT4.fDirection.fY",FS_fT4_fDirection_fY); fChain->SetBranchAddress("FS.fT4.fDirection.fZ",FS_fT4_fDirection_fZ); fChain->SetBranchAddress("FS.fT4.fQuality",FS_fT4_fQuality); fChain->SetBranchAddress("FS.fD4.fDy",FS_fD4_fDy); fChain->SetBranchAddress("FS.fD4.fDang",FS_fD4_fDang); fChain->SetBranchAddress("FS.fD4.fDay",FS_fD4_fDay); fChain->SetBranchAddress("FS.fD4.fChi2",FS_fD4_fChi2); fChain->SetBranchAddress("FS.fD4.fP",FS_fD4_fP); fChain->SetBranchAddress("FS.fD4.fStatus",FS_fD4_fStatus); fChain->SetBranchAddress("FS.fT5.fOrigin.fX",FS_fT5_fOrigin_fX); fChain->SetBranchAddress("FS.fT5.fOrigin.fY",FS_fT5_fOrigin_fY); fChain->SetBranchAddress("FS.fT5.fOrigin.fZ",FS_fT5_fOrigin_fZ); fChain->SetBranchAddress("FS.fT5.fDirection.fX",FS_fT5_fDirection_fX); fChain->SetBranchAddress("FS.fT5.fDirection.fY",FS_fT5_fDirection_fY); fChain->SetBranchAddress("FS.fT5.fDirection.fZ",FS_fT5_fDirection_fZ); fChain->SetBranchAddress("FS.fT5.fQuality",FS_fT5_fQuality); fChain->SetBranchAddress("FS.fH2.fSlat",FS_fH2_fSlat); fChain->SetBranchAddress("FS.fH2.fDx",FS_fH2_fDx); fChain->SetBranchAddress("FS.fH2.fDy",FS_fH2_fDy); fChain->SetBranchAddress("FS.fH2.fBeta",FS_fH2_fBeta); fChain->SetBranchAddress("FS.fH2.fLength",FS_fH2_fLength); fChain->SetBranchAddress("FS.fH2.fMass2",FS_fH2_fMass2); fChain->SetBranchAddress("FS.fH2.fEnergy",FS_fH2_fEnergy); fChain->SetBranchAddress("FS.fH2slat",FS_fH2slat); fChain->SetBranchAddress("FS.fH2x",FS_fH2x); fChain->SetBranchAddress("FS.fH2y",FS_fH2y); fChain->SetBranchAddress("FS.fRich.fRadius",FS_fRich_fRadius); fChain->SetBranchAddress("FS.fRich.fMass",FS_fRich_fMass); fChain->SetBranchAddress("FS.fRich.fHits",FS_fRich_fHits); fChain->SetBranchAddress("T1RDO.BrDataObject.fUniqueID",&T1RDO_BrDataObject_fUniqueID); fChain->SetBranchAddress("T1RDO.BrDataObject.fBits",&T1RDO_BrDataObject_fBits); fChain->SetBranchAddress("T1RDO.BrDataObject.fIsPersistent",&T1RDO_BrDataObject_fIsPersistent); fChain->SetBranchAddress("T1RDO.BrDataObject.fName[64]",T1RDO_BrDataObject_fName); fChain->SetBranchAddress("T1RDO.BrDataObject.fTitle[64]",T1RDO_BrDataObject_fTitle); fChain->SetBranchAddress("T1RDO.fNclusters",&T1RDO_fNclusters); fChain->SetBranchAddress("T1RDO.fCStatus",&T1RDO_fCStatus); fChain->SetBranchAddress("T1RDO.fNseqs",&T1RDO_fNseqs); fChain->SetBranchAddress("T1RDO.fNallHits",&T1RDO_fNallHits); fChain->SetBranchAddress("T1RDO.fNtrack",&T1RDO_fNtrack); fChain->SetBranchAddress("T1RDO.fNsingleHit",&T1RDO_fNsingleHit); fChain->SetBranchAddress("T1RDO.fNsingleHitDec",&T1RDO_fNsingleHitDec); fChain->SetBranchAddress("T1RDO.fNmultHitDec",&T1RDO_fNmultHitDec); fChain->SetBranchAddress("T2RDO.BrDataObject.fUniqueID",&T2RDO_BrDataObject_fUniqueID); fChain->SetBranchAddress("T2RDO.BrDataObject.fBits",&T2RDO_BrDataObject_fBits); fChain->SetBranchAddress("T2RDO.BrDataObject.fIsPersistent",&T2RDO_BrDataObject_fIsPersistent); fChain->SetBranchAddress("T2RDO.BrDataObject.fName[64]",T2RDO_BrDataObject_fName); fChain->SetBranchAddress("T2RDO.BrDataObject.fTitle[64]",T2RDO_BrDataObject_fTitle); fChain->SetBranchAddress("T2RDO.fNclusters",&T2RDO_fNclusters); fChain->SetBranchAddress("T2RDO.fCStatus",&T2RDO_fCStatus); fChain->SetBranchAddress("T2RDO.fNseqs",&T2RDO_fNseqs); fChain->SetBranchAddress("T2RDO.fNallHits",&T2RDO_fNallHits); fChain->SetBranchAddress("T2RDO.fNtrack",&T2RDO_fNtrack); fChain->SetBranchAddress("T2RDO.fNsingleHit",&T2RDO_fNsingleHit); fChain->SetBranchAddress("T2RDO.fNsingleHitDec",&T2RDO_fNsingleHitDec); fChain->SetBranchAddress("T2RDO.fNmultHitDec",&T2RDO_fNmultHitDec); } Bool_t MySelector::Notify() { // Called when loading a new file. // Get branch pointers. b_G_ = fChain->GetBranch("G"); b_G_fTrigger = fChain->GetBranch("G.fTrigger"); b_G_fBbMethod = fChain->GetBranch("G.fBbMethod"); b_G_fNoMrsTrack = fChain->GetBranch("G.fNoMrsTrack"); b_G_fNoFfsTrack = fChain->GetBranch("G.fNoFfsTrack"); b_G_fNoBfsTrack = fChain->GetBranch("G.fNoBfsTrack"); b_G_fNoT1Track = fChain->GetBranch("G.fNoT1Track"); b_G_fNoT2Track = fChain->GetBranch("G.fNoT2Track"); b_G_fNoT3Track = fChain->GetBranch("G.fNoT3Track"); b_G_fNoT4Track = fChain->GetBranch("G.fNoT4Track"); b_G_fNoT5Track = fChain->GetBranch("G.fNoT5Track"); b_G_fNoTpm1Track = fChain->GetBranch("G.fNoTpm1Track"); b_G_fNoTpm2Track = fChain->GetBranch("G.fNoTpm2Track"); b_G_fRunNumber = fChain->GetBranch("G.fRunNumber"); b_G_fEventNumber = fChain->GetBranch("G.fEventNumber"); b_G_fBbVtxZ = fChain->GetBranch("G.fBbVtxZ"); b_G_fTMACent = fChain->GetBranch("G.fTMACent"); b_G_fTMAMult = fChain->GetBranch("G.fTMAMult"); b_G_fSiCent = fChain->GetBranch("G.fSiCent"); b_G_fSiMult = fChain->GetBranch("G.fSiMult"); b_G_fCent = fChain->GetBranch("G.fCent"); b_G_fZdcVtxZ = fChain->GetBranch("G.fZdcVtxZ"); b_G_fZdcCfdVtxZ = fChain->GetBranch("G.fZdcCfdVtxZ"); b_G_fZdcEnergy = fChain->GetBranch("G.fZdcEnergy"); b_FS_ = fChain->GetBranch("FS"); b_FS_fTheta = fChain->GetBranch("FS.fTheta"); b_FS_fPhi = fChain->GetBranch("FS.fPhi"); b_FS_fVtxX = fChain->GetBranch("FS.fVtxX"); b_FS_fVtxY = fChain->GetBranch("FS.fVtxY"); b_FS_fVtxZ = fChain->GetBranch("FS.fVtxZ"); b_FS_fSwimD1 = fChain->GetBranch("FS.fSwimD1"); b_FS_fH1slat = fChain->GetBranch("FS.fH1slat"); b_FS_fH1x = fChain->GetBranch("FS.fH1x"); b_FS_fH1y = fChain->GetBranch("FS.fH1y"); b_FS_fT1_fOrigin_fX = fChain->GetBranch("FS.fT1.fOrigin.fX"); b_FS_fT1_fOrigin_fY = fChain->GetBranch("FS.fT1.fOrigin.fY"); b_FS_fT1_fOrigin_fZ = fChain->GetBranch("FS.fT1.fOrigin.fZ"); b_FS_fT1_fDirection_fX = fChain->GetBranch("FS.fT1.fDirection.fX"); b_FS_fT1_fDirection_fY = fChain->GetBranch("FS.fT1.fDirection.fY"); b_FS_fT1_fDirection_fZ = fChain->GetBranch("FS.fT1.fDirection.fZ"); b_FS_fT1_fQuality = fChain->GetBranch("FS.fT1.fQuality"); b_FS_fD2_fDy = fChain->GetBranch("FS.fD2.fDy"); b_FS_fD2_fDang = fChain->GetBranch("FS.fD2.fDang"); b_FS_fD2_fDay = fChain->GetBranch("FS.fD2.fDay"); b_FS_fD2_fChi2 = fChain->GetBranch("FS.fD2.fChi2"); b_FS_fD2_fP = fChain->GetBranch("FS.fD2.fP"); b_FS_fD2_fStatus = fChain->GetBranch("FS.fD2.fStatus"); b_FS_fT2_fOrigin_fX = fChain->GetBranch("FS.fT2.fOrigin.fX"); b_FS_fT2_fOrigin_fY = fChain->GetBranch("FS.fT2.fOrigin.fY"); b_FS_fT2_fOrigin_fZ = fChain->GetBranch("FS.fT2.fOrigin.fZ"); b_FS_fT2_fDirection_fX = fChain->GetBranch("FS.fT2.fDirection.fX"); b_FS_fT2_fDirection_fY = fChain->GetBranch("FS.fT2.fDirection.fY"); b_FS_fT2_fDirection_fZ = fChain->GetBranch("FS.fT2.fDirection.fZ"); b_FS_fT2_fQuality = fChain->GetBranch("FS.fT2.fQuality"); b_FS_fH1_fSlat = fChain->GetBranch("FS.fH1.fSlat"); b_FS_fH1_fDx = fChain->GetBranch("FS.fH1.fDx"); b_FS_fH1_fDy = fChain->GetBranch("FS.fH1.fDy"); b_FS_fH1_fBeta = fChain->GetBranch("FS.fH1.fBeta"); b_FS_fH1_fLength = fChain->GetBranch("FS.fH1.fLength"); b_FS_fH1_fMass2 = fChain->GetBranch("FS.fH1.fMass2"); b_FS_fH1_fEnergy = fChain->GetBranch("FS.fH1.fEnergy"); b_FS_fC1_fEnergy = fChain->GetBranch("FS.fC1.fEnergy"); b_FS_fT2UsedInBfs = fChain->GetBranch("FS.fT2UsedInBfs"); b_FS_fBfsFront_fOrigin_fX = fChain->GetBranch("FS.fBfsFront.fOrigin.fX"); b_FS_fBfsFront_fOrigin_fY = fChain->GetBranch("FS.fBfsFront.fOrigin.fY"); b_FS_fBfsFront_fOrigin_fZ = fChain->GetBranch("FS.fBfsFront.fOrigin.fZ"); b_FS_fBfsFront_fDirection_fX = fChain->GetBranch("FS.fBfsFront.fDirection.fX"); b_FS_fBfsFront_fDirection_fY = fChain->GetBranch("FS.fBfsFront.fDirection.fY"); b_FS_fBfsFront_fDirection_fZ = fChain->GetBranch("FS.fBfsFront.fDirection.fZ"); b_FS_fBfsFront_fQuality = fChain->GetBranch("FS.fBfsFront.fQuality"); b_FS_fD3_fDy = fChain->GetBranch("FS.fD3.fDy"); b_FS_fD3_fDang = fChain->GetBranch("FS.fD3.fDang"); b_FS_fD3_fDay = fChain->GetBranch("FS.fD3.fDay"); b_FS_fD3_fChi2 = fChain->GetBranch("FS.fD3.fChi2"); b_FS_fD3_fP = fChain->GetBranch("FS.fD3.fP"); b_FS_fD3_fStatus = fChain->GetBranch("FS.fD3.fStatus"); b_FS_fT4_fOrigin_fX = fChain->GetBranch("FS.fT4.fOrigin.fX"); b_FS_fT4_fOrigin_fY = fChain->GetBranch("FS.fT4.fOrigin.fY"); b_FS_fT4_fOrigin_fZ = fChain->GetBranch("FS.fT4.fOrigin.fZ"); b_FS_fT4_fDirection_fX = fChain->GetBranch("FS.fT4.fDirection.fX"); b_FS_fT4_fDirection_fY = fChain->GetBranch("FS.fT4.fDirection.fY"); b_FS_fT4_fDirection_fZ = fChain->GetBranch("FS.fT4.fDirection.fZ"); b_FS_fT4_fQuality = fChain->GetBranch("FS.fT4.fQuality"); b_FS_fD4_fDy = fChain->GetBranch("FS.fD4.fDy"); b_FS_fD4_fDang = fChain->GetBranch("FS.fD4.fDang"); b_FS_fD4_fDay = fChain->GetBranch("FS.fD4.fDay"); b_FS_fD4_fChi2 = fChain->GetBranch("FS.fD4.fChi2"); b_FS_fD4_fP = fChain->GetBranch("FS.fD4.fP"); b_FS_fD4_fStatus = fChain->GetBranch("FS.fD4.fStatus"); b_FS_fT5_fOrigin_fX = fChain->GetBranch("FS.fT5.fOrigin.fX"); b_FS_fT5_fOrigin_fY = fChain->GetBranch("FS.fT5.fOrigin.fY"); b_FS_fT5_fOrigin_fZ = fChain->GetBranch("FS.fT5.fOrigin.fZ"); b_FS_fT5_fDirection_fX = fChain->GetBranch("FS.fT5.fDirection.fX"); b_FS_fT5_fDirection_fY = fChain->GetBranch("FS.fT5.fDirection.fY"); b_FS_fT5_fDirection_fZ = fChain->GetBranch("FS.fT5.fDirection.fZ"); b_FS_fT5_fQuality = fChain->GetBranch("FS.fT5.fQuality"); b_FS_fH2_fSlat = fChain->GetBranch("FS.fH2.fSlat"); b_FS_fH2_fDx = fChain->GetBranch("FS.fH2.fDx"); b_FS_fH2_fDy = fChain->GetBranch("FS.fH2.fDy"); b_FS_fH2_fBeta = fChain->GetBranch("FS.fH2.fBeta"); b_FS_fH2_fLength = fChain->GetBranch("FS.fH2.fLength"); b_FS_fH2_fMass2 = fChain->GetBranch("FS.fH2.fMass2"); b_FS_fH2_fEnergy = fChain->GetBranch("FS.fH2.fEnergy"); b_FS_fH2slat = fChain->GetBranch("FS.fH2slat"); b_FS_fH2x = fChain->GetBranch("FS.fH2x"); b_FS_fH2y = fChain->GetBranch("FS.fH2y"); b_FS_fRich_fRadius = fChain->GetBranch("FS.fRich.fRadius"); b_FS_fRich_fMass = fChain->GetBranch("FS.fRich.fMass"); b_FS_fRich_fHits = fChain->GetBranch("FS.fRich.fHits"); b_T1RDO_BrDataObject_fUniqueID = fChain->GetBranch("T1RDO.BrDataObject.fUniqueID"); b_T1RDO_BrDataObject_fBits = fChain->GetBranch("T1RDO.BrDataObject.fBits"); b_T1RDO_BrDataObject_fIsPersistent = fChain->GetBranch("T1RDO.BrDataObject.fIsPersistent"); b_T1RDO_BrDataObject_fName = fChain->GetBranch("T1RDO.BrDataObject.fName[64]"); b_T1RDO_BrDataObject_fTitle = fChain->GetBranch("T1RDO.BrDataObject.fTitle[64]"); b_T1RDO_fNclusters = fChain->GetBranch("T1RDO.fNclusters"); b_T1RDO_fCStatus = fChain->GetBranch("T1RDO.fCStatus"); b_T1RDO_fNseqs = fChain->GetBranch("T1RDO.fNseqs"); b_T1RDO_fNallHits = fChain->GetBranch("T1RDO.fNallHits"); b_T1RDO_fNtrack = fChain->GetBranch("T1RDO.fNtrack"); b_T1RDO_fNsingleHit = fChain->GetBranch("T1RDO.fNsingleHit"); b_T1RDO_fNsingleHitDec = fChain->GetBranch("T1RDO.fNsingleHitDec"); b_T1RDO_fNmultHitDec = fChain->GetBranch("T1RDO.fNmultHitDec"); b_T2RDO_BrDataObject_fUniqueID = fChain->GetBranch("T2RDO.BrDataObject.fUniqueID"); b_T2RDO_BrDataObject_fBits = fChain->GetBranch("T2RDO.BrDataObject.fBits"); b_T2RDO_BrDataObject_fIsPersistent = fChain->GetBranch("T2RDO.BrDataObject.fIsPersistent"); b_T2RDO_BrDataObject_fName = fChain->GetBranch("T2RDO.BrDataObject.fName[64]"); b_T2RDO_BrDataObject_fTitle = fChain->GetBranch("T2RDO.BrDataObject.fTitle[64]"); b_T2RDO_fNclusters = fChain->GetBranch("T2RDO.fNclusters"); b_T2RDO_fCStatus = fChain->GetBranch("T2RDO.fCStatus"); b_T2RDO_fNseqs = fChain->GetBranch("T2RDO.fNseqs"); b_T2RDO_fNallHits = fChain->GetBranch("T2RDO.fNallHits"); b_T2RDO_fNtrack = fChain->GetBranch("T2RDO.fNtrack"); b_T2RDO_fNsingleHit = fChain->GetBranch("T2RDO.fNsingleHit"); b_T2RDO_fNsingleHitDec = fChain->GetBranch("T2RDO.fNsingleHitDec"); b_T2RDO_fNmultHitDec = fChain->GetBranch("T2RDO.fNmultHitDec"); return kTRUE; } #endif // #ifdef MySelector_cxx
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET