X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSVertexerFast.cxx;h=80428d8e08c7961bf90c39d34c45bc98f03a041a;hb=9d06022c3fab839c47458e20e60972529d6bcc30;hp=21caef51345a92ba62fd7ceb31be553457444119;hpb=8221b41b8b59a093459af5fb8dc493ce12117bbd;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSVertexerFast.cxx b/ITS/AliITSVertexerFast.cxx index 21caef51345..80428d8e08c 100644 --- a/ITS/AliITSVertexerFast.cxx +++ b/ITS/AliITSVertexerFast.cxx @@ -30,6 +30,9 @@ // Origin: masera@to.infn.it 25/09/2003 // // // ///////////////////////////////////////////////////////////////////////// + +using std::endl; +using std::cout; ClassImp(AliITSVertexerFast) @@ -40,6 +43,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(); } //______________________________________________________________________ @@ -49,58 +56,43 @@ fSmear(0) // Standard constructor 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]); + AliInfo(Form("Gaussian smaring of the generated vertex. Sigmas (x,y,z) = %12.5f , %12.5f , %12.5f cm",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 - if(fSmear)delete [] fSmear; - fSmear = 0; + delete [] fSmear; } //______________________________________________________________________ -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"); + fCurrentVertex->SetTitle("vertexer: smearMC"); 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 "<