#include "AliEventInfo.h"
#include "AliRecoParam.h"
+using std::ofstream;
+
class AliReconstruction: public TSelector {
public:
AliReconstruction(const char* gAliceFilename = "galice.root");
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;};
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;}
// 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);
// 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;}
-
-protected:
+ //
+ //
+ 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;
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);
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();
//*** 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
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
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
AliAnalysisManager *fAnalysis; //! Analysis manager
AliRecoInputHandler *fRecoHandler; //! Input handler adapted for reconstruction
TString fDeclTriggerClasses; // Declared defined trigger classes
- ClassDef(AliReconstruction, 42) // class for running the reconstruction
+ //
+ 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