Some warning going to error and viceversa:
[u/mrichter/AliRoot.git] / STEER / STEER / AliReconstruction.h
index eabb816..309f685 100644 (file)
@@ -53,6 +53,8 @@ class AliRecoInputHandler;
 #include "AliEventInfo.h"
 #include "AliRecoParam.h"
 
+using std::ofstream;
+
 class AliReconstruction: public TSelector {
 public:
   AliReconstruction(const char* gAliceFilename = "galice.root");
@@ -81,6 +83,8 @@ public:
     SetRunLocalReconstruction(detectors); 
     SetRunTracking(detectors);
     SetFillESD(detectors);};
+  void           SetDeleteRecPoints(const char* dets) {fDeleteRecPoints = dets;}
+  void           SetDeleteDigits(const char* dets)    {fDeleteDigits = dets;}
   void           SetUseTrackingErrorsForAlignment(const char* detectors) 
     {fUseTrackingErrorsForAlignment = detectors;};
   void           SetLoadAlignFromCDB(Bool_t load)  {fLoadAlignFromCDB = load;};
@@ -91,10 +95,10 @@ public:
   void SetRunMultFinder(Bool_t flag=kTRUE) {fRunMultFinder=flag;};
   void SetRunVertexFinder(Bool_t flag=kTRUE) {fRunVertexFinder=flag;};
   void SetRunVertexFinderTracks(Bool_t flag=kTRUE) {fRunVertexFinderTracks=flag;};
-  void SetRunHLTTracking(Bool_t flag=kTRUE) {fRunHLTTracking=flag;};
   void SetRunV0Finder(Bool_t flag=kTRUE) {fRunV0Finder=flag;};
   void SetRunCascadeFinder(Bool_t flag=kTRUE) {fRunCascadeFinder=flag;};
   void SetStopOnError(Bool_t flag=kTRUE) {fStopOnError=flag;}
+  void SetStopOnMissingTriggerFile(Bool_t flag=kTRUE) {fStopOnMissingTriggerFile=flag;}
   void SetWriteAlignmentData(Bool_t flag=kTRUE){fWriteAlignmentData=flag;}
   void SetWriteESDfriend(Bool_t flag=kTRUE){fWriteESDfriend=flag;}
   void SetFillTriggerESD(Bool_t flag=kTRUE){fFillTriggerESD=flag;}
@@ -118,8 +122,7 @@ public:
   // CDB storage activation
   void SetDefaultStorage(const char* uri);
   void SetSpecificStorage(const char* calibType, const char* uri);
-  void SetFromCDBSnapshot(const char* snapshotFileName) {fFromCDBSnapshot = kTRUE; fSnapshotFileName=snapshotFileName;}
-  void UnSetFromCDBSnapshot() {fFromCDBSnapshot = kFALSE;}
+  void SetCDBSnapshotMode(const char* snapshotFileName);
 
   Bool_t MisalignGeometry(const TString& detectors);
 
@@ -163,7 +166,12 @@ public:
   void    SetRunPlaneEff(Bool_t flag=kFALSE)  {fRunPlaneEff = flag;}
 
   enum {
-    kNDetectors = 15   // number of detectors
+// #ifdef MFT_UPGRADE 
+//     kNDetectors = 16   // number of detectors
+// #else
+//     kNDetectors = 15   // number of detectors
+// #endif 
+    kNDetectors = 16   // number of detectors    // AU
   };
   static Int_t   GetDetIndex(const char * detector);
 
@@ -180,9 +188,19 @@ public:
   void        SetAnalysisManager(AliAnalysisManager *mgr) {fAnalysis = mgr;}
   AliAnalysisManager *GetAnalysisManager() const {return fAnalysis;}
 
-protected:
+  // A method to declare defined trigger classes even if they are not
+  // present in the run, needed for proper event selection based on trigger
+  void        DeclareTriggerClasses(const char *trClasses) {fDeclTriggerClasses = trClasses;}
+  //
+  //
+  Bool_t       HasEnoughResources(int ev);
+  void         SetStopOnResourcesExcess(int vRSS=3000,int vVMEM=4000);
+  //
+  //
   virtual Bool_t ProcessEvent(void* event);
   void           InitRun(const char* input);
+
+protected:
   // Functions needed to select events for which we store the ESD friends
   Bool_t IsHighPt() const;
   Bool_t IsCosmicOrCalibSpecie() const;
@@ -203,7 +221,6 @@ private:
   Bool_t         ReadIntensityInfoCDB();
   Bool_t         RunLocalEventReconstruction(const TString& detectors);
   Bool_t         RunVertexFinder(AliESDEvent*& esd);
-  Bool_t         RunHLTTracking(AliESDEvent*& esd);
   Bool_t         RunMuonTracking(AliESDEvent*& esd);
   Bool_t         RunSPDTrackleting(AliESDEvent*& esd);
   Bool_t         RunMultFinder(AliESDEvent*& esd);
@@ -213,6 +230,8 @@ private:
   Bool_t         FillTriggerESD(AliESDEvent*& esd);
   Bool_t         FillTriggerScalers(AliESDEvent*& esd);
   Bool_t         FillRawEventHeaderESD(AliESDEvent*& esd);
+  void           DeleteRecPoints(const TString& detectors);
+  void           DeleteDigits(const TString& detectors);
 
   Bool_t         IsSelected(TString detName, TString& detectors) const;
   Bool_t         InitRunLoader();
@@ -246,12 +265,12 @@ private:
   //*** Global reconstruction flags *******************
   Bool_t         fRunVertexFinder;    // run the vertex finder
   Bool_t         fRunVertexFinderTracks;    // run the vertex finder with tracks
-  Bool_t         fRunHLTTracking;     // run the HLT tracking
-  Bool_t         fRunMuonTracking;    // run the HLT tracking
+  Bool_t         fRunMuonTracking;    // run the MUON tracking
   Bool_t         fRunV0Finder;        // run the ESD V0 finder
   Bool_t         fRunCascadeFinder;   // run the ESD cascade finder
   Bool_t         fRunMultFinder;      // run the trackleter for ITS clusters
   Bool_t         fStopOnError;        // stop or continue on errors
+  Bool_t         fStopOnMissingTriggerFile; // stop if the simulated trigger file is absent
   Bool_t         fWriteAlignmentData; // write track space-points flag
   Bool_t         fWriteESDfriend;     // write ESD friend flag
   Bool_t         fFillTriggerESD;     // fill trigger info into ESD
@@ -266,6 +285,8 @@ private:
   TString        fRunLocalReconstruction; // run the local reconstruction for these detectors
   TString        fRunTracking;        // run the tracking for these detectors
   TString        fFillESD;            // fill ESD for these detectors
+  TString        fDeleteRecPoints;    // delete recpoints after each event
+  TString        fDeleteDigits;       // delete digits after each event
   TString        fLoadCDB;            // prefetch CDB entries and init reco-params for these detectors
   TString        fUseTrackingErrorsForAlignment; // for these detectors
   TString        fGAliceFileName;     // name of the galice file
@@ -312,8 +333,7 @@ private:
   TString       fQARefUri;         //! Uri of the default QA reference storage
   TObjArray      fSpecCDBUri;         //! Array with detector specific CDB storages
   Bool_t        fInitCDBCalled;               //! flag to check if CDB storages are already initialized
-  Bool_t        fFromCDBSnapshot;             //! flag to check if we are loading the CDB from a snapshot
-  TString        fSnapshotFileName;           //! string for the file containing the CDB snapshot
+  Bool_t         fCDBSnapshotMode;             //! flag true if we are setting the CDB Manager in snapshot mode
   Bool_t        fSetRunNumberFromDataCalled;  //! flag to check if run number is already loaded from run loader
 
   //Quality Assurance
@@ -361,7 +381,14 @@ private:
   TString              fAnalysisMacro; // Full path to a macro creating an analysis manager train
   AliAnalysisManager  *fAnalysis;      //! Analysis manager
   AliRecoInputHandler *fRecoHandler;   //! Input handler adapted for reconstruction
-  ClassDef(AliReconstruction, 41)      // class for running the reconstruction
+  TString              fDeclTriggerClasses; // Declared defined trigger classes
+  //
+  Bool_t               fStopped;        //  flag that reco is stopped due to the limited resources 
+  Int_t                fMaxRSS;         //  max RSS memory, MB
+  Int_t                fMaxVMEM;        //  max VMEM memory, MB
+  static const char*   fgkStopEvFName;  //  filename for stop.event stamp
+  //
+  ClassDef(AliReconstruction, 45)      // class for running the reconstruction
 };
 
 #endif