// Origin: masera@to.infn.it 25/09/2003 //
// //
/////////////////////////////////////////////////////////////////////////
+
+using std::endl;
+using std::cout;
ClassImp(AliITSVertexerFast)
{
// Default Constructor
fSmear = 0;
- AliRunLoader *rl =AliRunLoader::GetRunLoader();
+ AliRunLoader *rl =AliRunLoader::Instance();
TTree *trK=(TTree*)rl->TreeK();
if(!trK)AliFatal("This class should be used only with simulated events!!");
rl->LoadHeader();
// 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]);
- AliRunLoader *rl =AliRunLoader::GetRunLoader();
+ 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 = rl->GetAliRun()->GetHeader();
+ AliHeader* header = rl->GetHeader();
AliGenEventHeader* genEventHeader = header->GenEventHeader();
genEventHeader->PrimaryVertex(primaryVertex);
vrttrue[k] = static_cast<Double_t>(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 = 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 "<<i<<endl;
-
- }
-
- }
-
-}
-
//________________________________________________________
void AliITSVertexerFast::PrintStatus() const {
// Print current status
cout <<"=======================================================\n";
- cout<<"First event to be processed "<<fFirstEvent;
- cout<<"\n Last event to be processed "<<fLastEvent<<endl;
cout<<"RMS for gaussian smearing: ";
for(Int_t k=0;k<3;k++)cout<<" "<<fSmear[k];
cout<<endl;
}
-//______________________________________________________________________
-AliITSVertexerFast::AliITSVertexerFast(const AliITSVertexerFast &vtxr) :
- AliITSVertexer(vtxr),
-fSmear(0) {
- // Copy constructor
- // Copies are not allowed. The method is protected to avoid misuse.
- Error("AliITSVertexerFast","Copy constructor not allowed\n");
-}
-
-//______________________________________________________________________
-AliITSVertexerFast& AliITSVertexerFast::operator=(const
- AliITSVertexerFast& /* vtxr */){
- // Assignment operator
- // Assignment is not allowed. The method is protected to avoid misuse.
- Error("= operator","Assignment operator not allowed\n");
- return *this;
-}