00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "StHbtMaker/Cut/ntupleTrack.h"
00015
00016 #ifdef __ROOT__
00017 ClassImp(ntupleTrack)
00018
00019 ntupleTrack::ntupleTrack()
00020 {
00021
00022 mTree = new TTree("TrackTree","A Tree with all tracks in order to set the cuts");
00023
00024 mTree->Branch("track",&mtrack,"charge/I:nhits/I:dca/F:pt/F:p/F:px/F:py/F:pz/F:prapidity/F");
00025 }
00026
00027 ntupleTrack::~ntupleTrack()
00028 {
00029
00030 delete mTree;
00031 }
00032
00033 bool ntupleTrack::Pass(const StHbtTrack* track)
00034 {
00035
00036 mtrack.charge = track->Charge() ;
00037 mtrack.nhits = track->NHits() ;
00038 mtrack.dca = track->DCAz() ;
00039 mtrack.pt = track->P().perp() ;
00040 mtrack.p = track->P().magnitude() ;
00041 mtrack.px = track->P().x() ;
00042 mtrack.py = track->P().y() ;
00043 mtrack.pz = track->P().z() ;
00044 mtrack.prapidity = track->P().pseudoRapidity() ;
00045 mTree->Fill();
00046 return true;
00047 }
00048
00049 StHbtString ntupleTrack::Report()
00050 {
00051 StHbtString t;
00052 char Ctemp[100];
00053 sprintf(Ctemp,"No actual track cut applied ! This cut class just fills a tree.\n");
00054 t+=Ctemp;
00055 return t;
00056 };
00057
00058 #endif // ifdef ROOT
00059