]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSOnlineSDDInjectors.h
New methods for retrieving QA histograms + coding conventions (F.Prino)
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSDDInjectors.h
index 26042869048f11a0048cb151ee84ee7919d08c81..fe17876e570cc6d17128d46c1c3c660dc8f7ced7 100644 (file)
@@ -8,8 +8,9 @@
 // Origin: F.Prino, Torino, prino@to.infn.it                     //
 //                                                               //
 ///////////////////////////////////////////////////////////////////
-#include"AliITSOnlineSDD.h"
+#include "AliITSOnlineSDD.h"
 
+/* $Id: */
 class TH2F;
 class TGraphErrors;
 class AliITSOnlineSDDInjectors : public AliITSOnlineSDD {
@@ -33,19 +34,27 @@ class AliITSOnlineSDDInjectors : public AliITSOnlineSDD {
   void SetPolOrder(Int_t n=3){fPolOrder=n;}
   void SetMinDriftVel(Float_t vmin=4.){fMinDriftVel=vmin;}
   void SetMaxDriftVel(Float_t vmax=9.){fMaxDriftVel=vmax;}
+  void SetTimeDiffTB(Float_t tbDiff=8.){fTimeDiffTB=tbDiff;}
 
-  TGraphErrors* GetLineGraph(Int_t jlin);
-  TGraphErrors* GetDriftVelocityGraph();
+  TGraphErrors* GetLineGraph(Int_t jlin) const;
+  TGraphErrors* GetDriftVelocityGraph() const;
   Float_t* GetDriftVelFitParam()const{ return fParam;}
   Float_t GetDriftVelocity(Int_t jlin) const{return fDriftVel[jlin];}
   Float_t GetSigmaDriftVelocity(Int_t jlin) const{return fSigmaDriftVel[jlin];}
   Float_t GetTimeBinZero() const{return fTbZero;}
   Float_t GetDriftCoordinate(Float_t cAnode, Float_t cTimeBin);
-  Int_t GetAnodeNumber(Int_t iInjLine);
-
+  Int_t GetAnodeNumber(Int_t iInjLine) const;
+  Float_t GetCentroid(Int_t injnumb, Int_t injline) const {
+    if(injnumb<kNInjectors && injline<3) return fCentroid[injnumb][injline];
+    else return -9999.;
+  }
+  Bool_t IsInjectorGood(Int_t injnumb, Int_t injline) const {
+    if(injnumb<kNInjectors && injline<3) return fGoodInj[injnumb][injline];
+    else return 0;
+  }
   void PrintInjMap();
   void PrintCentroids();
-  void WriteToFXS();
+  void WriteToASCII(Int_t evNumb, UInt_t timeStamp, Int_t optAppend=0);
 
   void Reset();      
   void AnalyzeEvent(TH2F* his);      
@@ -65,25 +74,27 @@ class AliITSOnlineSDDInjectors : public AliITSOnlineSDD {
 
   AliITSOnlineSDDInjectors(const AliITSOnlineSDDInjectors& source);
   AliITSOnlineSDDInjectors& operator = (const AliITSOnlineSDDInjectors& source);
-  static const Float_t fgkSaturation;
-  static const Float_t fgkJitterTB;
+  static const Float_t fgkSaturation;   // ADC saturation value (1008)
+
+  TH2F* fHisto;                         // histogram of module channel counts
+  Float_t fTbZero;                      // Time zero for injector event
+  Float_t fPosition[3];                 // Coordinates of injector lines
+  UShort_t fTbMin[3];                   // Minimum time bin for each line
+  UShort_t fTbMax[3];                   // Maximum time bin for each line
+  Bool_t fGoodInj[kNInjectors][3];      // array of good injectors
+  Float_t fCentroid[kNInjectors][3];    // array of time centroids of injectors
+  Float_t fRMSCentroid[kNInjectors][3]; // array of time rms of injectors
+  Float_t fDriftVel[kNInjectors];       // drift velocity
+  Float_t fSigmaDriftVel[kNInjectors];  // error on drift velocity
+  Float_t *fParam;                      // parameters of polinomial fit
+                                        //  of drift vel. vs. anode number
+  Int_t fPolOrder;                      // order of polinomial fit
+  Float_t fMinDriftVel;                 // Cut value for minimum drift speed
+  Float_t fMaxDriftVel;                 // Cut value for maximum drift speed
+  Float_t fThreshold;                   // Threshold for injector signal
 
-  TH2F* fHisto;
-  Float_t fTbZero;
-  Float_t fPosition[3];
-  UShort_t fTbMin[3];
-  UShort_t fTbMax[3];
-  Bool_t fGoodInj[kNInjectors][3];
-  Float_t fCentroid[kNInjectors][3];
-  Float_t fRMSCentroid[kNInjectors][3];
-  Float_t fDriftVel[kNInjectors];
-  Float_t fSigmaDriftVel[kNInjectors];
-  Float_t *fParam;
-  Int_t fPolOrder;
-  Float_t fMinDriftVel;
-  Float_t fMaxDriftVel;
-  Float_t fThreshold;
+  Float_t fTimeDiffTB;                  // time difference (in TB) between injector trigger and particle trigger
 
-  ClassDef(AliITSOnlineSDDInjectors,1)
+  ClassDef(AliITSOnlineSDDInjectors,2)
 };
 #endif