]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/analysis2/AliFMDEventInspector.h
Mega commit of many changes to PWGLFforward
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliFMDEventInspector.h
index 86f7f5aa888fe6b10c6a06a3c3a21f9bba70a1fd..f4e82892380b64a3f860d830b37d761b7619c50a 100644 (file)
@@ -85,6 +85,7 @@ public:
     kE,
     kPileUp,
     kMCNSD,
+    kSatellite,
     kOffline
   };
   /** 
@@ -115,6 +116,29 @@ public:
     kPP, 
     kPbPb
   };
+  enum EVtxStatus { 
+    kVtxOK = 1, 
+    kNoVtx, 
+    kNoSPDVtx, 
+    kFewContrib, 
+    kUncertain,
+    kNotVtxZ
+  }; 
+  enum ETrgStatus {
+    kNoTrgWords=1,
+    kPP2760Fast, 
+    kMUON,
+    kTriggered,
+    kMinBias,
+    kMinBiasNoSPD,
+    kV0AndTrg,
+    kHighMult,
+    kCentral, 
+    kSemiCentral, 
+    kDiffractive,
+    kUser,
+    kOther
+  };
   /** 
    * Folder name 
    */
@@ -209,6 +233,13 @@ public:
    * 
    * @param use Use it or not 
    */
+  void SetpA2012Vtx(Bool_t use) {fUsepA2012Vertex= use; }
+ /** 
+   * Use the 2012 pA vtx code.   
+   * 
+   * @param use Use it or not 
+   */
+
   void SetUseV0AndForNSD(Bool_t use=true) {fUseV0AND = use; }
   /** 
    * Set the minimum number of contributors for a 2nd pile-up vertex 
@@ -237,6 +268,23 @@ public:
   {
     fUseDisplacedVertices = use;
   }  
+  Bool_t IsUseDisplacedVertices() const { return fUseDisplacedVertices; }
+  /** 
+   * Set the lower centrality cut - if negative, do not use 
+   *
+   * @deprecated We should accept all events in the AOD pass
+   * 
+   * @param mincent Lower cut on centrality
+   */
+  void SetMinCentrality(Double_t mincent=-1.0);
+  /** 
+   * Set the upper centrality cut - if negative, do not use 
+   *
+   * @deprecated We should accept all events in the AOD pass
+   * 
+   * @param mincent Upper cut on centrality
+   */
+  void SetMaxCentrality(Double_t maxcent=-1.0);
   /** 
    * Set the centrality method to use.  Possible values are 
    *
@@ -258,6 +306,11 @@ public:
    * @param m 
    */
   void SetCentralityMethod(const TString& m) { fCentMethod = m; }
+  /** 
+   * Set the centrality method
+   * 
+   * @param m Method identifier 
+   */
   void SetCentralityMethod(ECentMethod m);
   /** 
    * Set the debug level.  The higher the value the more output 
@@ -308,12 +361,22 @@ public:
    * @return The magnetic field setting 
    */
   Short_t  GetField() const { return fField; }
+  /** 
+   * Get the current run number 
+   * 
+   * @return The current run number 
+   */
+  ULong_t GetRunNumber() const { return fRunNumber; }
   /** 
    * Print information
    * 
    * @param option Not used 
    */
   void Print(Option_t* option="") const;
+  // getter for fmincentrality
+  // Double_t GetMinCentrality() const { return fMinCent;}
+  // gettter for fmaxcentrality 
+  // Double_t GetMaxCentrality() const { return fMaxCent;}
   /** 
    * Store information about running conditions in output list 
    * 
@@ -326,9 +389,8 @@ public:
    * - field Contains the L3 magnetic field (kG)
    * - run   Contains the run number
    * 
-   * @param runNo Run number - read off from ESD event
    */
-  virtual void StoreInformation(Int_t runNo);
+  virtual void StoreInformation();
   /** 
    * Return a string representing the return code 
    * 
@@ -359,6 +421,13 @@ protected:
    */
   Bool_t ReadTriggers(const AliESDEvent& esd, UInt_t& triggers, 
                      UShort_t& nClusters);
+  /** 
+   * Possible extra check for p-Pb from 2012/13 - require V0AND.
+   * 
+   * @param esd Event structure 
+   * 
+   * @return true on success
+   */
   Bool_t CheckpAExtraV0(const AliESDEvent& esd) const;
   /** 
    * Check, for the @f$\sqrt{s}=2.76GeV@f$ pp run wether this event
@@ -445,10 +514,10 @@ protected:
    * @param esd Data 
    * @param ip  On return, the coordinates of the IP
    * 
-   * @return true if the vertex was found and met the requirements
+   * @return status
    */
-  virtual Bool_t CheckPWGUDVertex(const AliESDEvent& esd, 
-                                 TVector3& ip) const;
+  virtual EVtxStatus CheckPWGUDVertex(const AliESDEvent& esd, 
+                                     TVector3& ip) const;
   /** 
    * Check the vertex. That is
    *
@@ -459,9 +528,24 @@ protected:
    * @param esd Data 
    * @param ip  On return, the coordinates of the IP
    * 
+   * @return status
+   */
+  virtual EVtxStatus CheckpA2012Vertex(const AliESDEvent& esd, 
+                                    TVector3& ip) const;
+  /** 
+   * Check the vertex for pA 2012 settings. That is
+   *
+   * 
+   * @param esd Data 
+   * @param ip  On return, the coordinates of the IP
+   * 
    * @return true if the vertex was found and met the requirements
    */
-  virtual Bool_t CheckVertex(const AliESDEvent& esd, TVector3& ip) const;
+
+
+
+
+  virtual EVtxStatus CheckVertex(const AliESDEvent& esd, TVector3& ip) const;
   /** 
    * Read centrality from event 
    * 
@@ -485,6 +569,8 @@ protected:
   TH1F*    fHCent;        //! Centrality 
   TH2F*    fHCentVsQual;  //! Centrality vs quality 
   TH1I*    fHStatus;      //! Event processing status 
+  TH1I*    fHVtxStatus;   //! Vertex processing status 
+  TH1I*    fHTrgStatus;   //! Trigger processing status 
   Int_t    fLowFluxCut;   //  Low flux cut
   Double_t fMaxVzErr;     //  Maximum error on v_z
   TList*   fList;         //! Histogram container 
@@ -505,7 +591,12 @@ protected:
   TList    fCollWords;     //! Configured collision words 
   TList    fBgWords;       //! Configured background words 
   TString  fCentMethod;
-  ClassDef(AliFMDEventInspector,7); // Inspect the event 
+  Double_t fMinCent;  //min centrality
+  Double_t fMaxCent;  //max centrailty
+  Bool_t   fUsepA2012Vertex;// flag to use pA2012 Veretx selection
+  ULong_t  fRunNumber; // Current run number 
+
+  ClassDef(AliFMDEventInspector,9); // Inspect the event 
 };
 
 #endif