]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliReconstruction.h
Fixes for bug #52499: Field polarities inconsistiency
[u/mrichter/AliRoot.git] / STEER / AliReconstruction.h
index b8427645a482225cbad35673af2f5e5297303c7a..308658cd1538fa614b7479c323d046d2069c6480 100644 (file)
@@ -11,7 +11,7 @@
 // Clusters and tracks are created for all detectors and all events by       //
 // typing:                                                                   //
 //                                                                           //
-//   AliReconstruction rec;                                                 QARef //
+//   AliReconstruction rec;                                                  //
 //   rec.Run();                                                              //
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
@@ -19,6 +19,7 @@
 
 #include <TSelector.h>
 #include <TString.h>
+#include <TUrl.h>
 #include <TObjArray.h>
 
 class AliReconstructor;
@@ -41,9 +42,12 @@ class AliRecoParam;
 class AliDetectorRecoParam;
 class AliRunInfo;
 class AliGRPObject;
-#include "AliQA.h"
+class THashTable;
+class AliTriggerRunScalers;
+#include "AliQAv1.h"
 #include "AliEventInfo.h"
 #include "AliRecoParam.h"
+#include "AliTriggerRunScalers.h"
 
 class AliReconstruction: public TSelector {
 public:
@@ -52,6 +56,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) 
@@ -77,10 +82,10 @@ public:
     {fLoadAlignData = detectors;};
 
   //*** Magnetic field setters
-  void SetUniformFieldTracking(Bool_t flag=kTRUE){fUniformField=flag;} 
   Bool_t SetFieldMap(Float_t l3Current=30000., Float_t diCurrent=6000., 
-                    Float_t l3Pol=1., Float_t dipPol=1., Float_t benergy=7000., 
-                    const Char_t* btype="pp",  
+                    Float_t l3Pol=-1., Float_t dipPol=-1.,
+                    Int_t convention=0, Bool_t uniform = kFALSE, 
+                    Float_t benergy=7000., const Char_t* btype="pp",
                     const Char_t* path="$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root");
 
   //*** Global reconstruction flag setters
@@ -138,13 +143,14 @@ public:
   void        ImportRunLoader(AliRunLoader* rl) { fRunLoader = rl; }
 
   // Quality Assurance 
-  void    SetQACycles(AliQA::DETECTORINDEX_t det, Int_t cycles) { fQACycles[det] = cycles ; }
-  void    SetQAWriteExpert(AliQA::DETECTORINDEX_t det) { fQAWriteExpert[det] = kTRUE ; }
+  void    SetQACycles(AliQAv1::DETECTORINDEX_t det, Int_t cycles) { fQACycles[det] = cycles ; }
+  void    SetQAWriteExpert(AliQAv1::DETECTORINDEX_t det) { fQAWriteExpert[det] = kTRUE ; }
   Bool_t  SetRunQA(TString detAndAction="ALL:ALL") ; 
   void    SetRunGlobalQA(Bool_t flag=kTRUE){fRunGlobalQA = flag;}
   void    SetQARefDefaultStorage(const char* uri);
   void    InitQA();
-  void    MergeQA(); 
+  void    MergeQA(const char *fileName = NULL); 
+  void    SetWriteQAExpert() { fWriteQAExpertData = kTRUE ; }
 
   // Plane Efficiency Evaluation
   void    SetRunPlaneEff(Bool_t flag=kFALSE)  {fRunPlaneEff = flag;}
@@ -165,6 +171,7 @@ private:
   void           SetCDBLock();
   Bool_t         SetRunNumberFromData();
   Bool_t         LoadCDB();
+  Bool_t         LoadTriggerScalersCDB();
   Bool_t         RunLocalEventReconstruction(const TString& detectors);
   Bool_t         RunVertexFinder(AliESDEvent*& esd);
   Bool_t         RunHLTTracking(AliESDEvent*& esd);
@@ -202,9 +209,6 @@ private:
 
   const char    *MatchDetectorList(const char *detectorList, UInt_t detectorMask);
 
-  //*** Magnetic field map settings *******************
-  Bool_t         fUniformField;       // uniform field tracking flag
-
   //*** Global reconstruction flags *******************
   Bool_t         fRunVertexFinder;    // run the vertex finder
   Bool_t         fRunVertexFinderTracks;    // run the vertex finder with tracks
@@ -231,6 +235,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.
@@ -241,7 +246,7 @@ private:
   TString        fUseHLTData;        // Detectors for which the HLT data is used as input
   AliRunInfo*    fRunInfo;            // an object which contains essential global conditions information
   AliEventInfo   fEventInfo;          // an object which contains essential event information
-
+  AliTriggerRunScalers* fRunScalers;  // an object which contains the trigger counters for xsection
   AliRunLoader*  fRunLoader;          //! current run loader object
   AliRawReader*  fRawReader;          //! current raw data reader
   AliRawReader*  fParentRawReader;    //! parent raw data reader in case of AliRawReaderHLT
@@ -255,6 +260,7 @@ private:
   AliESDVertex*  fDiamondProfileSPD;       // (x,y) diamond profile from SPD for AliITSVertexer3D(Z)
   AliESDVertex*  fDiamondProfile;          // (x,y) diamond profile for AliVertexerTracks (ITS+TPC)
   AliESDVertex*  fDiamondProfileTPC;       // (x,y) diamond profile from TPC for AliVertexerTracks
+  THashTable*    fListOfCosmicTriggers;    // list of cosmic triggers as defined by trigger coordination
 
   AliGRPObject*  fGRPData;              // Data from the GRP/GRP/Data CDB folder
 
@@ -267,16 +273,16 @@ private:
   Bool_t        fSetRunNumberFromDataCalled;  //! flag to check if run number is already loaded from run loader
 
   //Quality Assurance
-  Int_t  fQACycles[     AliQA::kNDET];  // # events over which QA data are accumulated
-  Bool_t fQAWriteExpert[AliQA::kNDET];  // Flag to save or not expert QA data
+  Int_t  fQACycles[     AliQAv1::kNDET];  // # events over which QA data are accumulated
+  Bool_t fQAWriteExpert[AliQAv1::kNDET];  // Flag to save or not expert QA data
   TString               fQADetectors ;  // list of detectors to be QA'ed       
-  AliQAManager * fQAManager    ;   //! steering class to run QA
   TString               fQATasks ;      // list of QA tasks to be performed    
   Bool_t                fRunQA ;        // Run QA flag
   Bool_t                fRunGlobalQA;   // Run global QA flag
   Bool_t                fSameQACycle;   //! open a new QA data file or not
   Bool_t                fInitQACalled;  //! control of QA intialisation
-  
+  Bool_t                fWriteQAExpertData ; //! decides wheter or not to write experts QA data; true by default
+
   // Plane Efficiency Evaluation
   Bool_t         fRunPlaneEff ;      // Evaluate Plane Efficiency
 
@@ -294,7 +300,7 @@ private:
 
   TTree*              fChain;      //! The raw-data chain in case of AliRawReaderChain
 
-  ClassDef(AliReconstruction, 31)      // class for running the reconstruction
+  ClassDef(AliReconstruction, 34)      // class for running the reconstruction
 };
 
 #endif