Update of Reco params
authormbroz <Michal.Broz@cern.ch>
Tue, 9 Dec 2014 11:40:46 +0000 (12:40 +0100)
committermbroz <Michal.Broz@cern.ch>
Tue, 9 Dec 2014 11:40:46 +0000 (12:40 +0100)
AD/AliADRawStream.cxx
AD/AliADRecoParam.cxx
AD/AliADRecoParam.h

index 96d97e9..e04ce05 100644 (file)
@@ -126,7 +126,7 @@ Bool_t AliADRawStream::Next()
   Int_t iCIU=0;
   for (Int_t  iV0CIU = 0; iV0CIU < 8; iV0CIU++) {
     
-    if(iV0CIU != 1 || iV0CIU != 3) {
+    if(iV0CIU != 0 || iV0CIU != 6) {
       for(Int_t iWord = 0; iWord<182; iWord++) GetNextWord();
       continue;
        }
index cbf156f..6ceea29 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-
-
-/**************************************************************************************
-
-       AD's RecoParams Version 1.0
-
-       In this version we only consider:
-
-       ->) The AD's Trigger Mode (Single Muon Trigger or Multi Muon Trigger)
-       ->) The AD's Trigger Mask (Same in SMT and MMT)
-       
-       In Runs PbPb, pp, and cosmics by default we have the same RecoParams.
-
-       From: 
-               Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch> @ CERN
-               FCFM, BUAP. Puebla, Mexico
-
-       Further comments:
-
-               Arturo Fernandez <afernan@mail.cern.ch> 
-
-       March 2nd. 2009 
-
-       NOTE: Please suggest improvements if needed.
-
-**************************************************************************************/
-
 #include "AliLog.h"
 
 #include "AliADRecoParam.h"
 ClassImp(AliADRecoParam)
 
 //_____________________________________________________________________________
-AliADRecoParam::AliADRecoParam():
-  AliDetectorRecoParam()
-//  fAcordeSingleMuonTrigger(kFALSE),
-//  fAcordeMultiMuonTrigger(kFALSE),
-//  fAcordeWord0(0x00000000),
-//  fAcordeWord1(0x00000000),
-//  fAcordeWord2(0x00000000),
-//  fAcordeWord3(0x00000000)       
-{
-       // AD's RecoParam constructor
-        SetNameTitle("AD","AD");
-        AliInfo(Form("Empty object for AD RecoParam"));
-}
-
-
-//____________________________________________________________________________
-AliADRecoParam::AliADRecoParam(const AliADRecoParam &p):
-  AliDetectorRecoParam(p)
-//  fAcordeSingleMuonTrigger(p.fAcordeSingleMuonTrigger),
-//  fAcordeMultiMuonTrigger(p.fAcordeMultiMuonTrigger),
-//  fAcordeWord0(p.fAcordeWord0),
-//  fAcordeWord1(p.fAcordeWord1),
-//  fAcordeWord2(p.fAcordeWord2),
-//  fAcordeWord3(p.fAcordeWord3)
-{
-       // Copy of constructor
+AliADRecoParam::AliADRecoParam() : AliDetectorRecoParam(),
+  fNSigmaPed(2.0),
+  fStartClock(8),
+  fEndClock(12),
+  fNPreClocks(2),
+  fNPostClocks(1),
+  fAdcThresHold(0.0),
+  fTimeWindowBBALow(-9.5),
+  fTimeWindowBBAUp(22.5),
+  fTimeWindowBGALow(-2.5),
+  fTimeWindowBGAUp(5.0),
+  fTimeWindowBBCLow(-2.5),
+  fTimeWindowBBCUp(22.5),
+  fTimeWindowBGCLow(-2.5),
+  fTimeWindowBGCUp(2.5),
+  fMaxResid(4.)        
+
+{
+  //
+  // constructor
+  //
+  SetName("AD");
+  SetTitle("AD");
 }
 
 //_____________________________________________________________________________
-AliADRecoParam& AliADRecoParam::operator=(const AliADRecoParam &p)
-{
-       // AD's RecoParam Assign Operator
-
-       if (this == &p)
-       return *this;
-  
-       AliDetectorRecoParam::operator=(p);
-/*     fAcordeSingleMuonTrigger=p.fAcordeSingleMuonTrigger;
-       fAcordeMultiMuonTrigger=p.fAcordeMultiMuonTrigger;      
-       fAcordeWord0=p.fAcordeWord0;
-       fAcordeWord1=p.fAcordeWord1;
-       fAcordeWord2=p.fAcordeWord2;
-       fAcordeWord3=p.fAcordeWord3;
-  */   
-       return *this;
-}
-//_____________________________________________________________________________
 AliADRecoParam::~AliADRecoParam() 
 {
-       // AD's RecoParam destructor
-}
-
-//_____________________________________________________________________________
-/*
-AliADRecoParam *AliADRecoParam::GetPbPbparam()
-{
-       // Set AD's default reconstruction parameters for PbPb 
-  
-       AliADRecoParam *acordeRecoParam = new AliADRecoParam();
-
-       // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
-       // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
-       
-       // By now we set fAcordeSingeMuonTrigger as default
-
-       acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
-       acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
-       acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
-       acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
-       acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
-       acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
-       return acordeRecoParam;
-}
-
-//_____________________________________________________________________________
-AliADRecoParam *AliADRecoParam::GetPPparam()
-{
-       // Set AD's default reconstruction parameters for PbPb 
-  
-        AliADRecoParam *acordeRecoParam = new AliADRecoParam();
-
-        // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
-        // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
-        
-        // By now we set fAcordeSingeMuonTrigger as default
-
-        acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
-        acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
-        acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
-        acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
-        acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
-        acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
-        return acordeRecoParam;
-}
-
-//_____________________________________________________________________________
-AliADRecoParam *AliADRecoParam::GetCosmicMuonParam()
-{
-        // Set AD's default reconstruction parameters for PbPb 
-  
-        AliADRecoParam *acordeRecoParam = new AliADRecoParam();
-
-        // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
-        // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
-        
-        // By now we set fAcordeSingeMuonTrigger as default
-
-        acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
-        acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
-        acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
-        acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
-        acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
-        acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
-        return acordeRecoParam;
-}
-*/
-//_____________________________________________________________________________
-void AliADRecoParam::PrintParameters() const
-{
-       // Printing of the used AD reconstruction parameters
-
- //    AliInfo(Form("AD's Single Muon Trigger Mode: %b", fAcordeSingleMuonTrigger));
-//     AliInfo(Form("AD's Multi Muon Trigger Mode: %b", fAcordeMultiMuonTrigger));
-//     if(fAcordeSingleMuonTrigger==kTRUE)
-//     {
-//             AliInfo(Form("AD's Trigger Mask: 0x%08x 0x%08x",fAcordeWord0,fAcordeWord1));
-//     }
-//     if(fAcordeMultiMuonTrigger==kTRUE)
-//     {
-  //              AliInfo(Form("AD's Trigger Mask: 0x%08x 0x%08x",fAcordeWord2,fAcordeWord3));
-
-//     }
-
-
-       AliInfo(Form("Empty object for AD RecoParam"));
-
-
+  //
+  // destructor
+  //  
 }
index 70d5c2e..e307b7e 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-
-/**************************************************************************************
-
-        AD's RecoParams Version 1.0
-
-        In this version we only consider:
-
-        ->) The AD's Trigger Mode (Single Muon Trigger or Multi Muon Trigger)
-        ->) The AD's Trigger Mask (Same in SMT and MMT)
-        
-        In Runs PbPb, pp, and cosmics by default we have the same RecoParams.
-
-        From: 
-               Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch> @ CERN
-               FCFM, BUAP. Puebla, Mexico
-        
-       Further comments:
-
-               Arturo Fernandez <afernan@mail.cern.ch>
-
-        March 2nd. 2009 
-
-        NOTE: Please suggest improvements if needed.
-
-**************************************************************************************/
-
-
 #ifndef ALIADRECOPARAM_H
 #define ALIADRECOPARAM_H
 
@@ -49,46 +22,61 @@ class AliADRecoParam : public AliDetectorRecoParam
 {
  public: 
   AliADRecoParam();
-  AliADRecoParam(const AliADRecoParam &p); // Copy constructor 
-  AliADRecoParam& operator=(const AliADRecoParam &p); // Assignment operator
   virtual ~AliADRecoParam();
+  
+  void SetNSigmaPed(Float_t nSigma) { fNSigmaPed = nSigma; }
+  void SetStartClock(Int_t start) { fStartClock = start; }
+  void SetEndClock(Int_t end) {fEndClock = end; }
+  void SetNPreClocks(Int_t preClocks) { fNPreClocks = preClocks; }
+  void SetNPostClocks(Int_t postClocks) { fNPostClocks = postClocks; }
+  void SetAdcThresHold(Float_t val) { fAdcThresHold = val;}
+  void SetTimeWindowBBALow(Float_t val) { fTimeWindowBBALow = val; }
+  void SetTimeWindowBBAUp (Float_t val) { fTimeWindowBBAUp  = val; }
+  void SetTimeWindowBGALow(Float_t val) { fTimeWindowBGALow = val; }
+  void SetTimeWindowBGAUp (Float_t val) { fTimeWindowBGAUp  = val; }
+  void SetTimeWindowBBCLow(Float_t val) { fTimeWindowBBCLow = val; }
+  void SetTimeWindowBBCUp (Float_t val) { fTimeWindowBBCUp  = val; }
+  void SetTimeWindowBGCLow(Float_t val) { fTimeWindowBGCLow = val; }
+  void SetTimeWindowBGCUp (Float_t val) { fTimeWindowBGCUp  = val; }
+  void SetMaxResid (Float_t val) { fMaxResid  = val; }
+
+  Float_t GetNSigmaPed() const { return fNSigmaPed; }
+  Int_t  GetStartClock() const { return fStartClock; }
+  Int_t  GetEndClock() const { return fEndClock; }
+  Int_t  GetNPreClocks() const { return fNPreClocks; }
+  Int_t  GetNPostClocks() const { return fNPostClocks; }
+  Float_t  GetAdcThresHold() const { return fAdcThresHold; }
+  Float_t  GetTimeWindowBBALow() const { return fTimeWindowBBALow; }
+  Float_t  GetTimeWindowBBAUp () const { return fTimeWindowBBAUp ; }
+  Float_t  GetTimeWindowBGALow() const { return fTimeWindowBGALow; }
+  Float_t  GetTimeWindowBGAUp () const { return fTimeWindowBGAUp ; }
+  Float_t  GetTimeWindowBBCLow() const { return fTimeWindowBBCLow; }
+  Float_t  GetTimeWindowBBCUp () const { return fTimeWindowBBCUp ; }
+  Float_t  GetTimeWindowBGCLow() const { return fTimeWindowBGCLow; }
+  Float_t  GetTimeWindowBGCUp () const { return fTimeWindowBGCUp ; }
+  Float_t  GetMaxResid () const { return fMaxResid; }
+
+ private:
+
+  Float_t fNSigmaPed;  // Number of pedestal sigmas for adc cut
+  Int_t fStartClock;   // Start clock for max adc search
+  Int_t fEndClock;     // End clock for max adc search
+  Int_t fNPreClocks;   // Number of pre-clocks used in adc charge sum
+  Int_t fNPostClocks;  // Number of post-clocks used in adc charge sum
+  
+  // Cuts used in the trigger mask creation
+  Float_t fAdcThresHold;      // Threshold on the ADC
+  Float_t fTimeWindowBBALow;  // BBA window (lower cut)
+  Float_t fTimeWindowBBAUp;   // BBA window (upper cut)
+  Float_t fTimeWindowBGALow;  // BGA window (lower cut)
+  Float_t fTimeWindowBGAUp;   // BGA window (upper cut)
+  Float_t fTimeWindowBBCLow;  // BBC window (lower cut)
+  Float_t fTimeWindowBBCUp;   // BBC window (upper cut)
+  Float_t fTimeWindowBGCLow;  // BGC window (lower cut)
+  Float_t fTimeWindowBGCUp;   // BGC window (upper cut)
+  Float_t fMaxResid;                 // Maximum residual of a single channel time
 
-  virtual void PrintParameters() const;
-
-  //Getters
-/* 
-  Bool_t   GetAcordeSingleMuonTrigger()    const  {return fAcordeSingleMuonTrigger;}
-  Bool_t   GetAcordeMultiMuonTrigger()     const  {return fAcordeMultiMuonTrigger;}
-  UInt_t   GetAcordeWord0()    const  {return fAcordeWord0;}
-  UInt_t   GetAcordeWord1()    const  {return fAcordeWord1;}
-  UInt_t   GetAcordeWord2()    const  {return fAcordeWord2;}
-  UInt_t   GetAcordeWord3()    const  {return fAcordeWord3;}
-
-
-  //Setters
-
-  void   SetAcordeSingleMuonTrigger(Bool_t flag)        {fAcordeSingleMuonTrigger=flag;}
-  void   SetAcordeMultiMuonTrigger(Bool_t flag)  {fAcordeMultiMuonTrigger=flag;}
-  void   SetAcordeWord0(UInt_t flag)  {fAcordeWord0=flag;}
-  void   SetAcordeWord1(UInt_t flag)  {fAcordeWord1=flag;}
-  void   SetAcordeWord2(UInt_t flag)  {fAcordeWord2=flag;}
-  void   SetAcordeWord3(UInt_t flag)  {fAcordeWord3=flag;}
-
-
-
-  static   AliADRecoParam *GetPbPbparam();       // reco param for PbPb.
-  static   AliADRecoParam *GetPPparam();         // reco param for PP
-  static   AliADRecoParam *GetCosmicMuonParam(); // reco param for cosmic muons
-private:
 
-  Bool_t fAcordeSingleMuonTrigger; // kTRUE if AD triggered in Singe Muon Mode
-  Bool_t fAcordeMultiMuonTrigger; // kTRUE if AD triggered in Multi Muon Mode
-  UInt_t fAcordeWord0; // [1..30] Acorde's Modules in Single Muon Trigger
-  UInt_t fAcordeWord1; // [31..60] Acorde's Modules in Single Muon Trigger
-  UInt_t fAcordeWord2; // [1..30] Acorde's Modules in Multi Muon Trigger
-  UInt_t fAcordeWord3; // [31..60] Acorde's Modules in Multi Muon Trigger
-*/
   ClassDef(AliADRecoParam, 1)
 };
 #endif