Class for handling parameters in the TOF reconstruction
authorarcelli <arcelli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Mar 2007 18:17:45 +0000 (18:17 +0000)
committerarcelli <arcelli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Mar 2007 18:17:45 +0000 (18:17 +0000)
TOF/AliTOFRecoParam.cxx [new file with mode: 0644]
TOF/AliTOFRecoParam.h [new file with mode: 0644]

diff --git a/TOF/AliTOFRecoParam.cxx b/TOF/AliTOFRecoParam.cxx
new file mode 100644 (file)
index 0000000..b911bea
--- /dev/null
@@ -0,0 +1,81 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Class with TOF reconstruction parameters                                  //
+//                                                                           //  
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
+
+#include "AliTOFRecoParam.h"
+
+ClassImp(AliTOFRecoParam)
+
+//_____________________________________________________________________________
+AliTOFRecoParam::AliTOFRecoParam():
+  fTimeZero(kFALSE),       
+  fTimeZerofromT0(kFALSE),       
+  fTimeZerofromTOF(kFALSE),       
+  fTimeWalkCorr(kFALSE),       
+  fApplyPbPbCuts(kFALSE),       
+  fWindowSizeMaxY(50.),
+  fWindowSizeMaxZ(35.),
+  fWindowScaleFact(3.),
+  fDistanceCut(3.),
+  fSensRadius(378.),
+  fStepSize(0.1),
+  fMaxChi2(150.),
+  fTimeResolution(80.),
+  fTimeNSigma(150.)
+{
+  //
+  // constructor
+  //
+}
+
+//_____________________________________________________________________________
+AliTOFRecoParam::~AliTOFRecoParam() 
+{
+  //
+  // destructor
+  //  
+}
+
+//_____________________________________________________________________________
+AliTOFRecoParam *AliTOFRecoParam::GetPbPbparam(){
+  //
+  // set default reconstruction parameters for PbPb.
+  //
+  AliTOFRecoParam *param = new AliTOFRecoParam();
+  param->fApplyPbPbCuts = kTRUE;
+  param->fWindowScaleFact = 3.;
+  param->fDistanceCut = 3.;
+  return param;
+}
+
+//_____________________________________________________________________________
+AliTOFRecoParam *AliTOFRecoParam::GetPPparam(){
+  //
+  // set default reconstruction parameters for PP.
+  //
+  AliTOFRecoParam *param = new AliTOFRecoParam();
+  param->fApplyPbPbCuts = kFALSE;
+  param->fWindowScaleFact = 5.;
+  param->fDistanceCut = 10.;
+  return param;
+}
diff --git a/TOF/AliTOFRecoParam.h b/TOF/AliTOFRecoParam.h
new file mode 100644 (file)
index 0000000..12e18f5
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef ALITOFRECOPARAM_H
+#define ALITOFRECOPARAM_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// Class with TOF reconstruction parameters                                  //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
+
+#include "TObject.h"
+
+class AliTOFRecoParam : public TObject
+{
+ public: 
+  AliTOFRecoParam();
+  virtual ~AliTOFRecoParam();
+  //Getters
+  Bool_t   UseTimeZero()           const  { return fTimeZero;}
+  Bool_t   GetTimeZerofromT0()     const  { return fTimeZerofromT0;}
+  Bool_t   GetTimeZerofromTOF()    const  { return fTimeZerofromTOF;}
+  Bool_t   GetTimeWalkCorr()       const  { return fTimeWalkCorr;}
+  Bool_t   GetApplyPbPbCuts()      const  { return fApplyPbPbCuts;}
+
+  Float_t  GetWindowSizeMaxY()     const  { return fWindowSizeMaxY;}
+  Float_t  GetWindowSizeMaxZ()     const  { return fWindowSizeMaxZ;}
+  Float_t  GetWindowScaleFact()    const  { return fWindowScaleFact;}
+  Float_t  GetDistanceCut()        const  { return fDistanceCut;}
+  Float_t  GetSensRadius()         const  { return fSensRadius;}
+  Float_t  GetStepSize()           const  { return fStepSize;}
+  Double_t  GetMaxChi2()           const  { return fMaxChi2;}
+  Double_t  GetTimeResolution()    const  { return fTimeResolution;}
+  Double_t  GetTimeNSigma()        const  { return fTimeNSigma;}
+
+  //Setters
+
+  void   SetTimeZero( Bool_t flag)        {fTimeZero=flag;}
+  void   SetTimeZerofromT0( Bool_t flag)  {fTimeZerofromT0=flag;}
+  void   SetTimeZerofromTOF(Bool_t flag)  {fTimeZerofromTOF=flag;}
+  void   SetTimeWalkCorr(Bool_t flag)     {fTimeWalkCorr=flag;}
+  void   SetApplyPbPbCuts(Bool_t flag)    {fApplyPbPbCuts=flag;}
+
+  void  SetWindowSizeMaxY(Float_t in)   {fWindowSizeMaxY=in;}
+  void  SetWindowSizeMaxZ(Float_t in)   {fWindowSizeMaxZ=in;}
+  void  SetWindowScaleFact(Float_t in) {fWindowScaleFact=in;}
+  void  SetDistanceCut(Float_t in)  {fDistanceCut=in;}
+  void  SetSensRadius(Float_t in)  {fSensRadius=in;}
+  void  SetStepSize(Float_t in)  {fStepSize=in;}
+  void  SetMaxChi2(Double_t in)  {fMaxChi2=in;}
+  void  SetTimeResolution(Double_t in)  {fTimeResolution=in;}
+  void  SetTimeNSigma(Double_t in)  {fTimeNSigma=in;}
+
+  static   AliTOFRecoParam *GetPbPbparam();      // reco param for PbPb.
+  static   AliTOFRecoParam *GetPPparam();       // reco param for PP
+ private:
+
+  Bool_t fTimeZero; //use Time Zero info in Pid
+  Bool_t fTimeZerofromT0; // Use Time Zero as determined by T0
+  Bool_t fTimeZerofromTOF; //Use Time Zero as determined from TOF
+  Bool_t fTimeWalkCorr; // Correct for signal time walk in z
+  Bool_t fApplyPbPbCuts; //apply "high flux" cuts
+
+  Float_t fWindowSizeMaxY;  // cluster search window size, Y (cm)
+  Float_t fWindowSizeMaxZ;  // cluster search window size, Z (cm)
+  Float_t fWindowScaleFact;  // cluster search window, scale factor
+  Float_t fDistanceCut;  // cut on the closest approach distance
+  Float_t fSensRadius;  // Average radius of sensitive volumes (cm)
+  Float_t fStepSize;  // Propagation step size (cm)
+  Double_t fMaxChi2;  // maximum X2 out of the TRD
+  Double_t fTimeResolution;  // Time resolution for resp. function in PID (ps)
+  Double_t fTimeNSigma;  // N-Sigma Range used for resp. function in PID 
+
+  ClassDef(AliTOFRecoParam, 1)
+};
+
+#endif