#include <TSelector.h>
#include <TString.h>
-#include <TUrl.h>
#include <TObjArray.h>
class AliReconstructor;
class AliTracker;
class AliMagF;
class AliVertexer;
+class AliTrackleter;
class AliESDVertex;
class AliESDEvent;
class AliESDfriend;
{fFirstEvent = firstEvent; fLastEvent = lastEvent;};
void SetNumberOfEventsPerFile(UInt_t nEvents)
{fNumberOfEventsPerFile = nEvents;};
+ void SetFractionFriends(Double32_t frac = 0.04)
+ {fFractionFriends = frac;};
void SetOption(const char* detector, const char* option);
void SetRecoParam(const char* detector, AliDetectorRecoParam *par);
{fLoadAlignData = detectors;};
//*** 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;};
Float_t GetV0CsPmin() const {return fV0CsPmin;}
Float_t GetDmax() const {return fDmax;}
Float_t GetZmax() const {return fZmax;}
+ //
+ Bool_t IsRunMultFinder() const {return fRunMultFinder;}
// CDB storage activation
void SetDefaultStorage(const char* uri);
void InitQA();
void MergeQA(const char *fileName = NULL);
void SetWriteQAExpert() { fWriteQAExpertData = kTRUE ; }
- Bool_t IsRunQA() { return fRunQA ; }
- Bool_t IsRunGlobalQA() { return fRunGlobalQA ; }
+ Bool_t IsRunQA() const { return fRunQA ; }
+ Bool_t IsRunGlobalQA() const { return fRunGlobalQA ; }
Bool_t IsInTasks(AliQAv1::TASKINDEX_t tsk) { return fQATasks.Contains(Form("%d", tsk)) ; }
// Plane Efficiency Evaluation
protected:
virtual Bool_t ProcessEvent(void* event);
void InitRun(const char* input);
+ // Functions needed to select events for which we store the ESD friends
+ Bool_t IsHighPt() const;
+ Bool_t IsCosmicOrCalibSpecie() const;
+ void WriteESDfriend();
private:
AliReconstruction(const AliReconstruction& rec);
Bool_t LoadCDB();
Bool_t LoadTriggerScalersCDB();
Bool_t LoadCTPTimeParamsCDB();
+ 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 RunTracking(AliESDEvent*& esd, AliESDpid &PID);
Bool_t CleanESD(AliESDEvent *esd);
Bool_t FillESD(AliESDEvent*& esd, const TString& detectors);
Bool_t InitRunLoader();
AliReconstructor* GetReconstructor(Int_t iDet);
AliVertexer* CreateVertexer();
+ AliTrackleter* CreateMultFinder();
void CleanUp();
Bool_t ParseOutput();
void FillRawDataErrorLog(Int_t iEvent, AliESDEvent* esd);
//Quality Assurance
- void CheckQA() ;
+ // void CheckQA() ;
// Plane Efficiency evaluation
Bool_t FinishPlaneEff(); //ultimate tasks related to Plane Eff. evaluation
Bool_t fRunMuonTracking; // run the HLT 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 fWriteAlignmentData; // write track space-points flag
Bool_t fWriteESDfriend; // write ESD friend flag
Int_t fFirstEvent; // index of first event to be reconstr.
Int_t fLastEvent; // index of last event to be reconstr.
UInt_t fNumberOfEventsPerFile; // number of events per file in case of raw-data reconstruction
+ Double32_t fFractionFriends; // fraction of ESD friends to be stored
TObjArray fOptions; // options for reconstructor objects
Bool_t fLoadAlignFromCDB; // Load alignment data from CDB and apply it to geometry or not
TString fLoadAlignData; // Load alignment data from CDB for these detectors
AliEventInfo fEventInfo; // an object which contains essential event information
AliTriggerRunScalers* fRunScalers; // an object which contains the trigger counters for xsection
AliCTPTimeParams* fCTPTimeParams; // an object which contains the trigger delays
+ AliCTPTimeParams* fCTPTimeAlign; // an object which contains the CTP (mis)alignment data
AliRunLoader* fRunLoader; //! current run loader object
AliRawReader* fRawReader; //! current raw data reader
AliRawReader* fParentRawReader; //! parent raw data reader in case of AliRawReaderHLT
AliVertexerTracks* ftVertexer; //! Pointer to the vertexer based on ESD tracks
Bool_t fIsNewRunLoader; // galice.root created from scratch (real raw data case)
Bool_t fRunAliEVE; // Run AliEVE or not
-
+ Double_t fBeamInt[2][2]; //! mean beam intensities from AliLHCData
+
TTree* fChain; //! The raw-data chain in case of AliRawReaderChain
- ClassDef(AliReconstruction, 34) // class for running the reconstruction
+ // Counters used in WriteESDfriend()
+ Int_t fNall; //! Number of reconstructed events
+ Int_t fNspecie; //! Number of events, selected by IsCosmicOrCalibSpecie
+ Int_t fSspecie; //! Number of events, sampled from fNspecie
+ Int_t fNhighPt; //! Number of events, selected by IsHighPt
+ Int_t fShighPt; //! Number of events, sampled from fNhighPt
+
+ ClassDef(AliReconstruction, 39) // class for running the reconstruction
};
#endif