Techinal fix for raw-data recon on CAF: Enabling the raw-data access from AliEn....
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Jun 2009 13:56:34 +0000 (13:56 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Jun 2009 13:56:34 +0000 (13:56 +0000)
STEER/AliReconstruction.cxx
STEER/AliReconstruction.h

index 78b59ab..aacfe0d 100644 (file)
@@ -219,6 +219,7 @@ AliReconstruction::AliReconstruction(const char* gAliceFilename) :
   fUseTrackingErrorsForAlignment(""),
   fGAliceFileName(gAliceFilename),
   fRawInput(""),
+  fESDOutput(""),
   fEquipIdMap(""),
   fFirstEvent(0),
   fLastEvent(-1),
@@ -315,6 +316,7 @@ AliReconstruction::AliReconstruction(const AliReconstruction& rec) :
   fUseTrackingErrorsForAlignment(rec.fUseTrackingErrorsForAlignment),
   fGAliceFileName(rec.fGAliceFileName),
   fRawInput(rec.fRawInput),
+  fESDOutput(rec.fESDOutput),
   fEquipIdMap(rec.fEquipIdMap),
   fFirstEvent(rec.fFirstEvent),
   fLastEvent(rec.fLastEvent),
@@ -425,6 +427,7 @@ AliReconstruction& AliReconstruction::operator = (const AliReconstruction& rec)
   fUseTrackingErrorsForAlignment = rec.fUseTrackingErrorsForAlignment;
   fGAliceFileName                = rec.fGAliceFileName;
   fRawInput                      = rec.fRawInput;
+  fESDOutput                     = rec.fESDOutput;
   fEquipIdMap                    = rec.fEquipIdMap;
   fFirstEvent                    = rec.fFirstEvent;
   fLastEvent                     = rec.fLastEvent;
@@ -853,6 +856,15 @@ void AliReconstruction::SetInput(const char* input)
 }
 
 //_____________________________________________________________________________
+void AliReconstruction::SetOutput(const char* output) 
+{
+  // Set the output ESD filename
+  // 'output' is a normalt ROOT url
+  // The method is used in case of raw-data reco with PROOF
+  if (output) fESDOutput.SetUrl(output);
+}
+
+//_____________________________________________________________________________
 void AliReconstruction::SetOption(const char* detector, const char* option)
 {
 // set options for the reconstruction of a detector
@@ -1195,12 +1207,14 @@ Bool_t AliReconstruction::Run(const char* input)
     // Proof mode
     if (gProof) {
       gProof->AddInput(this);
-      TUrl outputFile;
-      outputFile.SetProtocol("root",kTRUE);
-      outputFile.SetHost(gSystem->HostName());
-      outputFile.SetFile(Form("%s/AliESDs.root",gSystem->pwd()));
-      AliInfo(Form("Output file with ESDs is %s",outputFile.GetUrl()));
-      gProof->AddInput(new TNamed("PROOF_OUTPUTFILE",outputFile.GetUrl()));
+      if (!fESDOutput.IsValid()) {
+       fESDOutput.SetProtocol("root",kTRUE);
+       fESDOutput.SetHost(gSystem->HostName());
+       fESDOutput.SetFile(Form("%s/AliESDs.root",gSystem->pwd()));
+      }
+      AliInfo(Form("Output file with ESDs is %s",fESDOutput.GetUrl()));
+      gProof->AddInput(new TNamed("PROOF_OUTPUTFILE",fESDOutput.GetUrl()));
+      gProof->SetParameter("PROOF_MaxSlavesPerNode", 9999);
       chain->SetProof();
       chain->Process("AliReconstruction");
     }
index d902b16..c31ff42 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <TSelector.h>
 #include <TString.h>
+#include <TUrl.h>
 #include <TObjArray.h>
 
 class AliReconstructor;
@@ -52,6 +53,7 @@ public:
 
   void           SetGAliceFile(const char* fileName);
   void           SetInput(const char* input);
+  void           SetOutput(const char* output);
 
   void           SetEquipmentIdMap(const char *mapFile) {fEquipIdMap = mapFile;};
   void           SetEventRange(Int_t firstEvent = 0, Int_t lastEvent = -1) 
@@ -232,6 +234,7 @@ private:
   TString        fUseTrackingErrorsForAlignment; // for these detectors
   TString        fGAliceFileName;     // name of the galice file
   TString        fRawInput;           // name of input raw-data file or directory
+  TUrl           fESDOutput;          //! name of output ESD file
   TString        fEquipIdMap;         // name of file with equipment id map
   Int_t          fFirstEvent;         // index of first event to be reconstr.
   Int_t          fLastEvent;          // index of last event to be reconstr.
@@ -296,7 +299,7 @@ private:
 
   TTree*              fChain;      //! The raw-data chain in case of AliRawReaderChain
 
-  ClassDef(AliReconstruction, 31)      // class for running the reconstruction
+  ClassDef(AliReconstruction, 32)      // class for running the reconstruction
 };
 
 #endif