AliRoot Core  edcc906 (edcc906)
AliMUONDigitizerV3.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 
4 // $Id$
5 
10 // Author Laurent Aphecetche
11 
12 #ifndef ALIMUONDIGITIZERV3_H
13 #define ALIMUONDIGITIZERV3_H
14 
15 #ifndef ALIDIGITIZER_H
16 #include "AliDigitizer.h"
17 #endif
18 
19 #include "TArrayI.h"
20 
22 class AliMUONVDigit;
23 class AliMUONLogger;
24 class TClonesArray;
25 class TF1;
26 class TString;
27 class AliMUONVDigitStore;
28 class AliLoader;
31 class AliMUONVCalibParam;
32 class AliMUONRecoParam;
35 
37 {
38 public:
40  Int_t generateNoisyDigits=1);
41 
42  virtual ~AliMUONDigitizerV3();
43 
44  virtual void Digitize(Option_t* opt="");
45 
46  virtual Bool_t Init();
47 
48  static Int_t DecalibrateTrackerDigit(const AliMUONVCalibParam& pedestals,
49  Int_t channel,
50  Float_t charge,
51  Bool_t addNoise=kFALSE,
52  Bool_t noiseOnly=kFALSE);
53 
55  void SetCalibrationData(AliMUONCalibrationData* calibrationData, AliMUONRecoParam* recoParam);
56 
58  static void SetNSigmas(Double_t nsigmas=4.0) { fgNSigmas = nsigmas; }
59 
60 private:
65 
66  void ApplyResponse(const AliMUONVDigitStore& store, AliMUONVDigitStore& filteredStore);
67 
68  void ApplyResponseToTrackerDigit(AliMUONVDigit& digit, Bool_t addNoise);
70 
71  AliLoader* GetLoader(const TString& foldername);
72 
73 private:
74 
75  void GenerateNoisyDigits(AliMUONVDigitStore& digitStore);
77  Int_t detElemId, Int_t cathode);
79 
80  void MergeWithSDigits(AliMUONVDigitStore*& digitStore,
81  const AliMUONVDigitStore& input,
82  Int_t mask);
83 
84  static TF1* NoiseFunction();
85 
87 
88  void BuildTriggerStatusMap();
89  Int_t GetArrayIndex(Int_t cathode, Int_t trigCh, Int_t localCircuit);
90 
91 private:
92  Bool_t fIsInitialized;
97  static Double_t fgNSigmas;
108 
109  ClassDef(AliMUONDigitizerV3,11) // MUON Digitizer V3-11
110 };
111 
112 #endif
TF1 * fNoiseFunctionTrig
! function to get noise disribution on trig. chambers
Interface for a digit container.
#define TObjArray
Int_t fGenerateNoisyDigits
! whether or not we should generate noise-only digits for tracker (1) and trigger (2) ...
AliMUONRecoParam * fRecoParam
! reco params (to know how to decalibrate) (not owner)
virtual void Digitize(Option_t *opt="")
Bool_t fIsInitialized
are we initialized ?
AliMUONLogger * fLogger
for noise-only digit generation and zero-suppression
void BuildTriggerStatusMap()
Int_t GetArrayIndex(Int_t cathode, Int_t trigCh, Int_t localCircuit)
Class with MUON reconstruction parameters.
Utilities for trigger (check if pad is masked)
void ApplyResponseToTriggerDigit(AliMUONVDigit &digit)
Base class of a trigger information store.
AliMUONVDigitStore * fDigitStore
! temporary digits
AliMUONTriggerChamberEfficiency * fTriggerEfficiency
! trigger efficiency map
Manager class for muon trigger electronics.
A logger that keeps track of the number of times a message appeared.
Definition: AliMUONLogger.h:24
Container of calibration values for a given number of channels.
static Int_t DecalibrateTrackerDigit(const AliMUONVCalibParam &pedestals, Int_t channel, Float_t charge, Bool_t addNoise=kFALSE, Bool_t noiseOnly=kFALSE)
void ApplyResponse(const AliMUONVDigitStore &store, AliMUONVDigitStore &filteredStore)
void MergeWithSDigits(AliMUONVDigitStore *&digitStore, const AliMUONVDigitStore &input, Int_t mask)
AliMUONTriggerUtilities * fTriggerUtilities
! Trigger utilities for masks
void GenerateNoisyDigitsForTrigger(AliMUONVDigitStore &digitStore)
AliMUONDigitizerV3(AliDigitizationInput *digInput=0, Int_t generateNoisyDigits=1)
AliMUONDigitizerV3 & operator=(const AliMUONDigitizerV3 &other)
Not implemented.
TObjArray * fInputDigitStores
! input digit stores (one per input file
void GenerateNoisyDigits(AliMUONVDigitStore &digitStore)
static Double_t fgNSigmas
number of sigmas above ped to use
Single entry point to access MUON calibration data.
AliMUONCalibrationData * fCalibrationData
! pointer to access calib parameters
AliMUONVTriggerStore * fTriggerStore
! trigger objects
AliLoader * GetLoader(const TString &foldername)
ABC of a MUON digit.
Definition: AliMUONVDigit.h:18
TArrayI fEfficiencyResponse
! Local board efficiency response
Calculate, apply and possibly draw trigger chamber efficiency.
Digitizer (from SDigit to Digit), performing digit de-calibration.
static TF1 * NoiseFunction()
static void SetNSigmas(Double_t nsigmas=4.0)
Set the number of sigmas for pedestal cut.
void SetCalibrationData(AliMUONCalibrationData *calibrationData, AliMUONRecoParam *recoParam)
Set calibration (and recoparam) data.
void GenerateNoisyDigitsForOneCathode(AliMUONVDigitStore &digitStore, Int_t detElemId, Int_t cathode)
void ApplyResponseToTrackerDigit(AliMUONVDigit &digit, Bool_t addNoise)
AliMUONTriggerElectronics * fTriggerProcessor
pointer to the trigger part of the job
AliMUONVDigitStore * fOutputDigitStore
! digits we'll output to disk