]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Hardended the reconstruction process, have flags for switching of bench and cleaning.
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 Jun 2004 14:48:48 +0000 (14:48 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 Jun 2004 14:48:48 +0000 (14:48 +0000)
HLT/src/AliHLTReconstructor.cxx
HLT/src/AliHLTReconstructor.h

index d704fc9674b2742591005e43d0069021719f953b..b1f5e0c1e916603768b0a720e1bb85cddadc9d3a 100644 (file)
@@ -4,6 +4,7 @@
 //                                                                           //
 // class for HLT reconstruction                                              //
 // <Cvetan.Cheshkov@cern.ch>                                                 //
+// <loizides@ikf.uni-frankfurt.de>                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
 // very ugly but it has to work fast
@@ -104,10 +105,11 @@ void AliHLTReconstructor::ReconstructWithConformalMapping(AliRunLoader* runLoade
   fHLT->DoNonVertexTracking(); /*2 tracking passes, last without vertex contraint.*/
   fHLT->WriteFiles("./hlt/");  
   fHLT->ProcessEvent(0, 35, iEvent);
-
-  char filename[256];
-  sprintf(filename, "confmap_%d",iEvent);
-  fHLT->DoBench(filename);
+  if(fDoBench){
+    char filename[256];
+    sprintf(filename, "confmap_%d",iEvent);
+    fHLT->DoBench(filename);
+  }
 
   delete fHLT;
 }
@@ -145,10 +147,11 @@ void AliHLTReconstructor::ReconstructWithHoughTransform(AliRunLoader* runLoader,
     }
   hough->WriteTracks("./hough");
   
-  char filename[256];
-  sprintf(filename, "hough_%d",iEvent);
-  hough->DoBench(filename);
-
+  if(fDoBench){
+    char filename[256];
+    sprintf(filename, "hough_%d",iEvent);
+    hough->DoBench(filename);
+  }
   delete hough;
 }
 
@@ -160,15 +163,15 @@ void AliHLTReconstructor::FillESD(AliRunLoader* runLoader,
   if(fDoTracker) FillESDforConformalMapping(esd,iEvent);
   if(fDoHough) FillESDforHoughTransform(esd,iEvent);
 
-#if 0
-  char name[256];
-  gSystem->Exec("rm -rf hlt");
-  sprintf(name, "rm -f confmap_%d.root confmap_%d.dat",iEvent,iEvent);
-  gSystem->Exec(name);
-  gSystem->Exec("rm -rf hough");
-  sprintf(name, "rm -f hough_%d.root hough_%d.dat",iEvent,iEvent);
-  gSystem->Exec(name);
-#endif
+  if(fDoCleanUp){
+    char name[256];
+    gSystem->Exec("rm -rf hlt");
+    sprintf(name, "rm -f confmap_%d.root confmap_%d.dat",iEvent,iEvent);
+    gSystem->Exec(name);
+    gSystem->Exec("rm -rf hough");
+    sprintf(name, "rm -f hough_%d.root hough_%d.dat",iEvent,iEvent);
+    gSystem->Exec(name);
+  }
 }
 
 void AliHLTReconstructor::FillESDforConformalMapping(AliESD* esd,Int_t iEvent) const
@@ -183,11 +186,14 @@ void AliHLTReconstructor::FillESDforConformalMapping(AliESD* esd,Int_t iEvent) c
   
   AliL3Evaluate *fHLTEval = new AliL3Evaluate("./hlt",nclusters,good,ptmin,ptmax,slicerange);
   fHLTEval->SetMaxFalseClusters(maxfalseratio);
-
   fHLTEval->LoadData(iEvent,kTRUE);
   fHLTEval->AssignPIDs();
   fHLTEval->AssignIDs();
   AliL3TrackArray *fTracks = fHLTEval->GetTracks();
+  if(!fTracks){
+    delete fHLTEval;
+    return;
+  }
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
       AliL3Track *tpt = (AliL3Track *)fTracks->GetCheckedTrack(i);
@@ -221,7 +227,8 @@ void AliHLTReconstructor::FillESDforHoughTransform(AliESD* esd,Int_t iEvent) con
   
   AliL3FileHandler *tfile = new AliL3FileHandler();
   if(!tfile->SetBinaryInput(filename)){
-    Error("FillESD","Inputfile ",filename," does not exist");
+    LOG(AliL3Log::kError,"AliHLTReconstructor::FillESDforHoughTransform","Input file")
+      <<" Missing file "<<filename<<ENDLOG;
     return;
   }
   
@@ -229,7 +236,7 @@ void AliHLTReconstructor::FillESDforHoughTransform(AliESD* esd,Int_t iEvent) con
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   delete tfile;
-  
+  if(!fTracks) return; 
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
       AliL3HoughTrack *tpt = (AliL3HoughTrack *)fTracks->GetCheckedTrack(i);
@@ -258,5 +265,4 @@ void AliHLTReconstructor::FillESDforHoughTransform(AliESD* esd,Int_t iEvent) con
 
   delete fTracks;
 }
-
 #endif
index 1a4014b0f8f0abdda8e5ff96ed94928b62d91d33..40f585d7b56dbe0bdaff51d1fcb8462e1a1fd766 100644 (file)
@@ -15,15 +15,21 @@ public:
     AliL3Log::fgLevel=AliL3Log::kWarning;
     fDoTracker=1;
     fDoHough=1;
+    fDoBench=0;
+    fDoCleanUp=1;
   };
   AliHLTReconstructor(Bool_t doTracker, Bool_t doHough): AliReconstructor() {
     AliL3Log::fgLevel=AliL3Log::kWarning;
     fDoTracker=doTracker;
     fDoHough=doHough;
+    fDoBench=0;
+    fDoCleanUp=1;
   };
   virtual ~AliHLTReconstructor() {};
   virtual void         Reconstruct(AliRunLoader* runLoader) const;
   virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
+  void SetDoBench(Bool_t b){fDoBench=b;}
+  void SetDoCleanup(Bool_t b){fDoCleanUp=b;}
 
 private:
   void ReconstructWithConformalMapping(AliRunLoader* runLoader,Int_t iEvent) const;
@@ -32,8 +38,10 @@ private:
   void FillESDforHoughTransform(AliESD* esd,Int_t iEvent) const;
 
 
-  Bool_t fDoHough;
-  Bool_t fDoTracker;
+  Bool_t fDoHough;   //do the hough transform
+  Bool_t fDoTracker; //do the standard conformal tracker
+  Bool_t fDoBench;   //store the benchmark results
+  Bool_t fDoCleanUp; //delete tmp tracking files
 
   ClassDef(AliHLTReconstructor, 0)   // class for the TPC reconstruction
 };