]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEER/AliReconstruction.h
prevent running if CDB snapshot setting failed
[u/mrichter/AliRoot.git] / STEER / STEER / AliReconstruction.h
index 4277ed0d11a89a6d790e88e7e54209b793180deb..a037f3ae74c50a8d551059766d0c700df9ef3dae 100644 (file)
@@ -3,7 +3,7 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* $Id$ */
+/* $Id: AliReconstruction.h 63911 2013-08-19 16:46:41Z hristov $ */
 
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
@@ -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");
@@ -89,14 +91,15 @@ public:
   void           SetLoadAlignData(const char* detectors) 
     {fLoadAlignData = detectors;};
 
+  void           SetTreeBuffSize(Long64_t sz=30000000) {fTreeBuffSize = sz;}
   //*** Global reconstruction flag setters
   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;}
@@ -114,16 +117,22 @@ public:
   Float_t GetV0CsPmin() const {return fV0CsPmin;}
   Float_t GetDmax() const {return fDmax;}
   Float_t GetZmax() const {return fZmax;}
+  
+  Bool_t HasNextEventAfter(Int_t eventId);
+  
   //
   Bool_t  IsRunMultFinder()   const {return fRunMultFinder;}
   
   // 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 SetCDBSnapshotMode(const char* snapshotFileName) {AliCDBManager::Instance()->SetSnapshotMode(snapshotFileName);}
-  void UnSetFromCDBSnapshot() {fFromCDBSnapshot = kFALSE;}
-
+  void SetCDBSnapshotMode(const char* snapshotFileName);
+  void AddCheckRecoCDBvsSimuCDB(const char* cdbpath,const char* comment="");
+  void RemCheckRecoCDBvsSimuCDB(const char* cdbpath);
+  void ResetCheckRecoCDBvsSimuCDB() {fCheckRecoCDBvsSimuCDB.Delete();}
+  void RectifyCDBurl(TString& url);
+  const TObjArray* GetCheckRecoCDBvsSimuCDB() const {return &fCheckRecoCDBvsSimuCDB;}
+  void CheckRecoCDBvsSimuCDB();
   Bool_t MisalignGeometry(const TString& detectors);
 
   void           SetAlignObjArray(TObjArray *array)
@@ -166,14 +175,10 @@ public:
   void    SetRunPlaneEff(Bool_t flag=kFALSE)  {fRunPlaneEff = flag;}
 
   enum {
-// #ifdef MFT_UPGRADE 
-//     kNDetectors = 16   // number of detectors
-// #else
-//     kNDetectors = 15   // number of detectors
-// #endif 
-    kNDetectors = 16   // number of detectors    // AU
+    kNDetectors = 18   // number of detectors    + AD +FIT //alla
   };
   static Int_t   GetDetIndex(const char * detector);
+  static const char** GetDetectorNames() { return fgkDetectorName; }
 
   // Upgrade
  void SetUpgradeModule(const char* detectors)  {fUpgradeModule = detectors; MatchUpgradeDetector() ; }
@@ -193,13 +198,21 @@ public:
   void        DeclareTriggerClasses(const char *trClasses) {fDeclTriggerClasses = trClasses;}
   //
   //
+  void                                          CleanProcessedEvent();
+   
+  AliESDEvent* GetESDEvent() const { return fesd; }
+  AliESDfriend* GetESDfriend() const { return fesdf; }
+  AliRunLoader* GetRunLoader() const { return fRunLoader;}
+  AliRawReader* GetRawReader() const { return fRawReader; }
+  
   Bool_t       HasEnoughResources(int ev);
   void         SetStopOnResourcesExcess(int vRSS=3000,int vVMEM=4000);
   //
   //
-protected:
   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;
@@ -220,8 +233,8 @@ 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         RunMFTTrackingMU(AliESDEvent*& esd);      // AU
   Bool_t         RunSPDTrackleting(AliESDEvent*& esd);
   Bool_t         RunMultFinder(AliESDEvent*& esd);
   Bool_t         RunTracking(AliESDEvent*& esd, AliESDpid &PID);
@@ -265,12 +278,13 @@ 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         fRunMFTTrackingMU;   // run the MFT+MUON tracking      // AU
   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
@@ -332,9 +346,9 @@ private:
   TString       fCDBUri;             //! Uri of the default CDB storage
   TString       fQARefUri;         //! Uri of the default QA reference storage
   TObjArray      fSpecCDBUri;         //! Array with detector specific CDB storages
+  TObjArray      fCheckRecoCDBvsSimuCDB; // Array for CDB items which must be the same in the sim and rec
   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
@@ -351,6 +365,9 @@ private:
   // Plane Efficiency Evaluation
   Bool_t         fRunPlaneEff ;      // Evaluate Plane Efficiency
 
+  // PID
+  AliESDpid*     fESDpid;                      // PID object
+
   // New members needed in order to split Run method
   // into InitRun,RunEvent,FinishRun methods
   AliESDEvent*         fesd;        //! Pointer to the ESD event object
@@ -375,6 +392,12 @@ private:
   Int_t fNhighPt; //! Number of events, selected by IsHighPt 
   Int_t fShighPt; //! Number of events, sampled from fNhighPt
  
+  // Counters for SetAutoFlush configuration
+  Long64_t fTreeBuffSize;   //  allowed uncompressed buffer size per tree
+  Long64_t fMemCountESD;    //! accumulated ESD size before AutoSave 
+  Long64_t fMemCountESDF;   //! accumulated ESD size before AutoSave 
+  Long64_t fMemCountESDHLT; //! accumulated ESD size before AutoSave 
+  //
   // Upgrade detector reconstruction
   TString fUpgradeModule;
   Bool_t  fUpgradeMask[kNDetectors];
@@ -389,7 +412,7 @@ private:
   Int_t                fMaxVMEM;        //  max VMEM memory, MB
   static const char*   fgkStopEvFName;  //  filename for stop.event stamp
   //
-  ClassDef(AliReconstruction, 43)      // class for running the reconstruction
+  ClassDef(AliReconstruction, 49)      // class for running the reconstruction
 };
 
 #endif