#include "AliITSDetTypeRec.h"
#include "AliITSLoader.h"
#include "AliITStrackerMI.h"
+#include "AliITStrackerV2.h"
#include "AliITStrackerSA.h"
#include "AliITSVertexerIons.h"
#include "AliITSVertexerFast.h"
-#include "AliITSVertexerPPZ.h"
+#include "AliITSVertexer3D.h"
#include "AliITSVertexerZ.h"
-#include "AliESD.h"
+#include "AliITSVertexerCosmics.h"
+#include "AliESDEvent.h"
#include "AliITSpidESD.h"
#include "AliITSpidESD1.h"
#include "AliITSpidESD2.h"
#include "AliITSInitGeometry.h"
+
ClassImp(AliITSReconstructor)
+AliITSRecoParam *AliITSReconstructor::fgkRecoParam =0; // reconstruction parameters
+
//___________________________________________________________________________
AliITSReconstructor::AliITSReconstructor() : AliReconstructor(),
fItsPID(0)
{
// Default constructor
+ if (!fgkRecoParam) {
+ AliError("The Reconstruction parameters nonitialized - Used default one");
+ fgkRecoParam = AliITSRecoParam::GetHighFluxParam();
+ }
}
//___________________________________________________________________________
AliITSReconstructor::~AliITSReconstructor(){
// destructor
delete fItsPID;
+ if(fgkRecoParam) delete fgkRecoParam;
}
//______________________________________________________________________
AliITSReconstructor::AliITSReconstructor(const AliITSReconstructor &ob) :AliReconstructor(ob),
-fItsPID(ob.fItsPID)
+ fItsPID(ob.fItsPID)
{
// Copy constructor
}
AliTracker* tracker;
if (selectedTracker.Contains("MI")) {
tracker = new AliITStrackerMI(0);
+ }
+ else if (selectedTracker.Contains("V2")) {
+ tracker = new AliITStrackerV2(0);
}
else {
tracker = new AliITStrackerSA(0); // inherits from AliITStrackerMI
+ AliITStrackerSA *sat=(AliITStrackerSA*)tracker;
+ if(selectedTracker.Contains("onlyITS"))sat->SetSAFlag(kTRUE);
+ if(sat->GetSAFlag())AliDebug(1,"Tracking Performed in ITS only\n");
}
TString selectedPIDmethod = GetOption();
loader->AdoptITSpid(new AliITSpidESD2((AliITStrackerMI*)tracker,loader));
}
else{
- Double_t parITS[] = {34., 0.15, 10.};
+ Double_t parITS[] = {0.15, 10.}; //PH positions of the MIP peak
loader->AdoptITSpid(new AliITSpidESD1(parITS));
}
return tracker;
Info("CreateVertexer","a AliITSVertexerFast object has been selected\n");
return new AliITSVertexerFast(smear);
}
- if(selectedVertexer.Contains("ppz") || selectedVertexer.Contains("PPZ")){
- Info("CreateVertexer","a AliITSVertexerPPZ object has been selected\n");
- return new AliITSVertexerPPZ("null");
+ if(selectedVertexer.Contains("3d") || selectedVertexer.Contains("3D")){
+ Info("CreateVertexer","a AliITSVertexer3D object has been selected\n");
+ return new AliITSVertexer3D("null");
+ }
+ if(selectedVertexer.Contains("cosmics") || selectedVertexer.Contains("COSMICS")){
+ Info("CreateVertexer","a AliITSVertexerCosmics object has been selected\n");
+ return new AliITSVertexerCosmics();
}
// by default an AliITSVertexerZ object is instatiated
Info("CreateVertexer","a AliITSVertexerZ object has been selected\n");
//_____________________________________________________________________________
void AliITSReconstructor::FillESD(AliRunLoader* runLoader,
- AliESD* esd) const
+ AliESDEvent* esd) const
{
// make PID, find V0s and cascade
AliITSLoader *loader = (AliITSLoader*)runLoader->GetLoader("ITSLoader");