X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSVertexerFast.cxx;h=2e20c39dbde820b5a66ae4a849e4ad50bdc52c1f;hb=2c3a7cd02da15f2f677ed8cb2a3fb95041e8f816;hp=21caef51345a92ba62fd7ceb31be553457444119;hpb=8221b41b8b59a093459af5fb8dc493ce12117bbd;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSVertexerFast.cxx b/ITS/AliITSVertexerFast.cxx index 21caef51345..2e20c39dbde 100644 --- a/ITS/AliITSVertexerFast.cxx +++ b/ITS/AliITSVertexerFast.cxx @@ -40,6 +40,10 @@ fSmear(0) { // Default Constructor fSmear = 0; + AliRunLoader *rl =AliRunLoader::Instance(); + TTree *trK=(TTree*)rl->TreeK(); + if(!trK)AliFatal("This class should be used only with simulated events!!"); + rl->LoadHeader(); } //______________________________________________________________________ @@ -50,8 +54,14 @@ fSmear(0) fSmear = new Double_t[3]; for(Int_t i=0;i<3;i++)fSmear[i]=smear[i]; Info("AliITSVertexerFast","Gaussian smaring of the generated vertex. Parameters %f12.5 , %f12.5 , %f12.5 \n",fSmear[0],fSmear[1],fSmear[2]); + AliRunLoader *rl =AliRunLoader::Instance(); + TTree *trK=(TTree*)rl->TreeK(); + if(!trK)AliFatal("This class should be used only with simulated events!!"); + rl->LoadHeader(); + } + //______________________________________________________________________ AliITSVertexerFast::~AliITSVertexerFast(){ // Destructor @@ -60,47 +70,26 @@ AliITSVertexerFast::~AliITSVertexerFast(){ } //______________________________________________________________________ -AliESDVertex* AliITSVertexerFast::FindVertexForCurrentEvent(Int_t evnumb){ +AliESDVertex* AliITSVertexerFast::FindVertexForCurrentEvent(TTree *itsClusterTree){ // Defines the AliITSVertex for the current event + AliWarning(Form("This class should be used only with simulated events!! Input cluster tree (%p) will not be used!!",itsClusterTree)); + fCurrentVertex = 0; - AliRunLoader *rl =AliRunLoader::GetRunLoader(); - rl->GetEvent(evnumb); + AliRunLoader *rl =AliRunLoader::Instance(); TArrayF primaryVertex(3); // true vertex - AliHeader* header = gAlice->GetHeader(); + AliHeader* header = rl->GetHeader(); AliGenEventHeader* genEventHeader = header->GenEventHeader(); genEventHeader->PrimaryVertex(primaryVertex); - + // Smearing Double_t vrttrue[3],vrtx[3]; for(Int_t k=0; k<3;k++){ vrttrue[k] = static_cast(primaryVertex[k]); vrtx[k] = gRandom->Gaus(vrttrue[k],fSmear[k]); } - char name[30]; - sprintf(name,"Vertex_%d",evnumb); - fCurrentVertex = new AliESDVertex(vrtx,fSmear,name); - fCurrentVertex->SetTruePos(vrttrue); + fCurrentVertex = new AliESDVertex(vrtx,fSmear,"Smeared Generated Vertex"); return fCurrentVertex; -} - -//______________________________________________________________________ -void AliITSVertexerFast::FindVertices(){ - // computes the vertices of the events in the range FirstEvent - LastEvent - - AliRunLoader *rl = AliRunLoader::GetRunLoader(); - AliITSLoader* iTSloader = (AliITSLoader*) rl->GetLoader("ITSLoader"); - iTSloader->ReloadRecPoints(); - for(Int_t i=fFirstEvent;i<=fLastEvent;i++){ - rl->GetEvent(i); - FindVertexForCurrentEvent(i); - if(fCurrentVertex) WriteCurrentVertex(); - else { - cout<<"Vertex not found for event "<