AliRoot Core  3dc7879 (3dc7879)
AliFMDReconstructor Class Reference

This is a class that reconstructs AliFMDRecPoint objects from of Digits. More...

#include <AliFMDReconstructor.h>

Inheritance diagram for AliFMDReconstructor:

Public Member Functions

 AliFMDReconstructor ()
 
virtual ~AliFMDReconstructor ()
 
virtual void Init ()
 
virtual Bool_t HasDigitConversion () const
 
virtual void ConvertDigits (AliRawReader *reader, TTree *digitsTree) const
 
virtual void Reconstruct (TTree *digitsTree, TTree *clusterTree) const
 
virtual void Reconstruct (AliRawReader *, TTree *) const
 
virtual void Reconstruct (AliFMDRawReader &reader) const
 
virtual void FillESD (TTree *digitsTree, TTree *clusterTree, AliESDEvent *esd) const
 
virtual void FillESD (AliRawReader *, TTree *clusterTree, AliESDEvent *esd) const
 
AliESDFMDGetESDObject () const
 
virtual void Digitize (AliRawReader *reader, TClonesArray *sdigits) const
 
virtual void SetESD (AliESDEvent *esd)
 
virtual void SetNoiseFactor (Float_t f=3)
 
virtual void SetAngleCorrect (Bool_t use=kTRUE)
 
void SetDiagnose (Bool_t use=kTRUE)
 
virtual void ProcessDigits (TClonesArray *digits, const AliFMDRawReader &rawRead) const
 
- Public Member Functions inherited from AliReconstructor
 AliReconstructor ()
 
virtual ~AliReconstructor ()
 
virtual AliVertexerCreateVertexer () const
 
virtual AliTrackerCreateTracker () const
 
virtual AliTrackerCreateTrackleter () const
 
virtual AliTrackleterCreateMultFinder () const
 
virtual const char * GetDetectorName () const
 
void SetOption (Option_t *option)
 
virtual Option_t * GetOption () const
 
void SetRunInfo (AliRunInfo *runInfo)
 
const AliRunInfoGetRunInfo () const
 
void SetEventInfo (AliEventInfo *evInfo)
 
const AliEventInfoGetEventInfo () const
 
void SetRecoParam (const AliDetectorRecoParam *par)
 
virtual void GetPidSettings (AliESDpid *esdPID)
 
void SetHLTESD (AliESDEvent *hltesd)
 
AliESDEventGetHLTESD () const
 
virtual void FillEventTimeWithTOF (AliESDEvent *, AliESDpid *)
 
virtual void FinishEvent ()
 
virtual void Terminate () const
 
UInt_t GetTimeStamp () const
 
void SetTimeStamp (UInt_t t)
 

Protected Types

enum  Vertex_t { kNoVertex, kGenVertex, kESDVertex }
 

Protected Member Functions

 AliFMDReconstructor (const AliFMDReconstructor &)
 
AliFMDReconstructoroperator= (const AliFMDReconstructor &)
 
Bool_t PreReconstruct () const
 
virtual void GetVertex (AliESDEvent *esd) const
 
virtual void UseRecoParam (Bool_t set=kTRUE) const
 
virtual void ProcessDigits (TClonesArray *digits) const
 
virtual void ProcessDigit (AliFMDDigit *digit) const
 
virtual void ProcessSignal (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, Short_t adc) const
 
virtual void DigitizeSignal (TClonesArray *sdigits, UShort_t det, Char_t rng, UShort_t sec, UShort_t str, UShort_t sam, Short_t adc) const
 
virtual UShort_t SubtractPedestal (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, UShort_t adc, Float_t noiseFactor, Bool_t zsEnabled, UShort_t zsNoiseFactor) const
 
virtual UShort_t SubtractPedestal (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, Short_t adc) const
 
virtual Float_t Adc2Energy (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, UShort_t count) const
 
virtual Float_t Adc2Energy (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, Float_t eta, UShort_t count) const
 
virtual Float_t Energy2Multiplicity (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, Float_t edep) const
 
virtual void PhysicalCoordinates (UShort_t det, Char_t rng, UShort_t sec, UShort_t str, Float_t &eta, Float_t &phi) const
 
void MarkDeadChannels (AliESDFMD *esd) const
 
const AliFMDRecoParamGetParameters () const
 
Int_t GetIdentifier () const
 

Protected Attributes

TClonesArray * fMult
 
Int_t fNMult
 
TTree * fTreeR
 
Float_t fCurrentVertex
 
AliESDFMDfESDObj
 
Float_t fNoiseFactor
 
Bool_t fAngleCorrect
 
Vertex_t fVertexType
 
AliESDEventfESD
 
Bool_t fDiagnostics
 
TH1 * fDiagStep1
 
TH1 * fDiagStep2
 
TH1 * fDiagStep3
 
TH1 * fDiagStep4
 
TH1 * fDiagAll
 
Bool_t fZS [3]
 
UShort_t fZSFactor [3]
 
AliFMDBoolMap fBad
 
Bool_t fZombie
 

Additional Inherited Members

- Static Public Member Functions inherited from AliReconstructor
static const AliDetectorRecoParamGetRecoParam (Int_t iDet)
 
static void SetMCEvent (const AliMCEvent *mcev)
 
static const AliMCEventGetMCEvent ()
 

Detailed Description

This is a class that reconstructs AliFMDRecPoint objects from of Digits.

This class reads either digits from a TClonesArray or raw data from a DDL file (or similar), and applies calibrations to get psuedo-inclusive multiplicities per strip.

Definition at line 60 of file AliFMDReconstructor.h.

Member Enumeration Documentation

Enumerator
kNoVertex 
kGenVertex 
kESDVertex 

Definition at line 445 of file AliFMDReconstructor.h.

Constructor & Destructor Documentation

AliFMDReconstructor::AliFMDReconstructor ( )

CTOR

Definition at line 69 of file AliFMDReconstructor.cxx.

Referenced by SetDiagnose().

AliFMDReconstructor::~AliFMDReconstructor ( )
virtual

DTOR

Definition at line 100 of file AliFMDReconstructor.cxx.

AliFMDReconstructor::AliFMDReconstructor ( const AliFMDReconstructor )
protected

Copy CTOR

Parameters
otherObject to copy from.

Member Function Documentation

Float_t AliFMDReconstructor::Adc2Energy ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
UShort_t  count 
) const
protectedvirtual

Converts number of ADC counts to energy deposited. This is done by

\[ E_i = A_i g_i \]

where \( A_i\) is the pedestal subtracted ADC counts, and \( g_i\) is the gain for the \( i^{\mbox{th}}\) strip.

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
etaPsuedo-rapidity of digit.
countPedestal subtracted ADC counts
Returns
Energy deposited \( E_i\)

Definition at line 831 of file AliFMDReconstructor.cxx.

Referenced by Adc2Energy(), DigitizeSignal(), ProcessSignal(), and SetDiagnose().

Float_t AliFMDReconstructor::Adc2Energy ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
Float_t  eta,
UShort_t  count 
) const
protectedvirtual

Converts number of ADC counts to energy deposited. This is done by

\[ E_i = A_i g_i \]

where \( A_i\) is the pedestal subtracted ADC counts, and \( g_i\) is the gain for the \( i^{\mbox{th}}\) strip.

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
etaPsuedo-rapidity of digit.
countPedestal subtracted ADC counts
Returns
Energy deposited \( E_i\)

Definition at line 891 of file AliFMDReconstructor.cxx.

void AliFMDReconstructor::ConvertDigits ( AliRawReader *  reader,
TTree *  digitsTree 
) const
virtual

Convert raw data read from the AliRawReader reader into digits. This is done using AliFMDRawReader and AliFMDAltroReader. The digits are put in the passed TTree digitsTree.

Note
This is the first part of the reconstruction as done by the offical steering class AliReconstruction.
Parameters
readerRaw reader.
digitsTreeTree to store read digits in.

Reimplemented from AliReconstructor.

Definition at line 178 of file AliFMDReconstructor.cxx.

Referenced by HasDigitConversion(), and Raw2ESD().

void AliFMDReconstructor::Digitize ( AliRawReader *  reader,
TClonesArray *  sdigits 
) const
virtual

Create SDigits from raw data

Parameters
readerThe raw reader
sdigitsArray to fill with AliFMDSDigit objects.

Definition at line 440 of file AliFMDReconstructor.cxx.

Referenced by GetESDObject(), and AliFMD::Raw2SDigits().

void AliFMDReconstructor::DigitizeSignal ( TClonesArray *  sdigits,
UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
UShort_t  sam,
Short_t  adc 
) const
protectedvirtual

Process the signal from a single strip.

Parameters
sdigitsArray to fill
detDetector number
rngRing identifier
secSector number
strStrip number
samSample number
adcNumber of ADC counts for this strip

Definition at line 689 of file AliFMDReconstructor.cxx.

Referenced by Digitize(), and SetDiagnose().

Float_t AliFMDReconstructor::Energy2Multiplicity ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
Float_t  edep 
) const
protectedvirtual

Converts an energy signal to number of particles. In this implementation, it's done by

\[ M_i = E_i / E_{\mbox{MIP}} \]

where \( E_i\) is the energy deposited, and \( E_{\mbox{MIP}}\) is the average energy deposited by a minimum ionizing particle

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
etaOn return, psuedo-rapidity \( \eta\)
phiOn return, azimuthal angle \( \varphi\)
edepEnergy deposited \( E_i\)
Returns
Psuedo-inclusive multiplicity \( M\)

Definition at line 951 of file AliFMDReconstructor.cxx.

Referenced by ProcessSignal(), and SetDiagnose().

void AliFMDReconstructor::FillESD ( TTree *  digitsTree,
TTree *  clusterTree,
AliESDEvent esd 
) const
virtual

Put in the ESD data, the FMD ESD data. The object created by the Reconstruct member function is copied to the ESD object.

Note
This is the third part of the reconstruction as done by the offical steering class AliReconstruction.
Parameters
digitsTreeTree of digits for this event - not used
clusterTreeTree of reconstructed points for this event - not used.
esdESD object to store data in.

Reimplemented from AliReconstructor.

Definition at line 1040 of file AliFMDReconstructor.cxx.

Referenced by FillESD(), HasDigitConversion(), and Raw2ESD().

void AliFMDReconstructor::FillESD ( AliRawReader *  ,
TTree *  clusterTree,
AliESDEvent esd 
) const
virtual

Forwards to above member function

Reimplemented from AliReconstructor.

Definition at line 1108 of file AliFMDReconstructor.cxx.

AliESDFMD* AliFMDReconstructor::GetESDObject ( ) const
inline

Return the filled FMD ESD object

Returns
FMD ESD object

Definition at line 152 of file AliFMDReconstructor.h.

Referenced by AliFMDQADataMakerRec::MakeRaws().

Int_t AliFMDReconstructor::GetIdentifier ( ) const
protected

Get the numeric identifier of this detector

Returns
Should be 12

Definition at line 248 of file AliFMDReconstructor.cxx.

Referenced by GetParameters(), and SetDiagnose().

const AliFMDRecoParam * AliFMDReconstructor::GetParameters ( ) const
protected

Utility member function to get the reconstruction parameters for this event

Returns
Pointer to AliFMDRecoParam object or null if not available.

Definition at line 259 of file AliFMDReconstructor.cxx.

Referenced by SetDiagnose(), and UseRecoParam().

void AliFMDReconstructor::GetVertex ( AliESDEvent esd) const
protectedvirtual

Try to get the vertex from either ESD or generator header. Sets fCurrentVertex to the found Z posistion of the vertex (if found), and sets the flag fVertexType accordingly

Parameters
esdESD structure to get Vz from

Definition at line 216 of file AliFMDReconstructor.cxx.

Referenced by FillESD(), PreReconstruct(), and SetDiagnose().

virtual Bool_t AliFMDReconstructor::HasDigitConversion ( ) const
inlinevirtual

Flag that we can convert raw data into digits.

Returns
always true

Reimplemented from AliReconstructor.

Definition at line 85 of file AliFMDReconstructor.h.

void AliFMDReconstructor::Init ( void  )
virtual

Initialize the reconstructor. Here, we initialize the geometry manager, and finds the local to global transformations from the geometry. The calibration parameter manager is also initialized (meaning that the calibration parameters is read from CDB).

Reimplemented from AliReconstructor.

Definition at line 110 of file AliFMDReconstructor.cxx.

Referenced by AliFMDQADataMakerRec::InitRaws(), Raw2ESD(), and AliFMDQADataMakerRec::StartOfDetectorCycle().

void AliFMDReconstructor::MarkDeadChannels ( AliESDFMD esd) const
protected

Mark dead channels as invalid, and those that are marked as invalid but are not dead, get the zero signal.

Parameters
esdESD object to modify.

Definition at line 300 of file AliFMDReconstructor.cxx.

Referenced by FillESD(), and SetDiagnose().

AliFMDReconstructor& AliFMDReconstructor::operator= ( const AliFMDReconstructor )
protected

Assignment operator

Parameters
otherObject to assign from
Returns
reference to this object

Referenced by SetDiagnose().

void AliFMDReconstructor::PhysicalCoordinates ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
Float_t &  eta,
Float_t &  phi 
) const
protectedvirtual

Calculate the physical coordinates psuedo-rapidity \( \eta\), azimuthal angle \( \varphi\) of the strip corresponding to the digit digit. This is done by using the information obtained, and previously cached by AliFMDGeometry, from the TGeoManager.

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
etaOn return, psuedo-rapidity \( \eta\)
phiOn return, azimuthal angle \( \varphi\)

Definition at line 994 of file AliFMDReconstructor.cxx.

Referenced by PreReconstruct(), ProcessSignal(), and SetDiagnose().

Bool_t AliFMDReconstructor::PreReconstruct ( ) const
protected

Run some checks before reconstruction, clear internal arrays, etc.

Returns
true on success

Definition at line 350 of file AliFMDReconstructor.cxx.

Referenced by Reconstruct(), and SetDiagnose().

void AliFMDReconstructor::ProcessDigit ( AliFMDDigit digit) const
protectedvirtual

Process a single digit

Parameters
digitDigiti to process

Definition at line 575 of file AliFMDReconstructor.cxx.

Referenced by ProcessDigits(), and SetDiagnose().

void AliFMDReconstructor::ProcessDigits ( TClonesArray *  digits,
const AliFMDRawReader rawRead 
) const
virtual

Process AliFMDDigit objects in digits. For each digit, find the psuedo-rapidity \( \eta\), azimuthal angle \( \varphi\), energy deposited \( E\), and psuedo-inclusive multiplicity \( M\).

Parameters
digitsArray of digits.
rawReadRaw reader used

Definition at line 526 of file AliFMDReconstructor.cxx.

Referenced by AliFMDQADataMakerRec::MakeRaws(), Reconstruct(), and SetDiagnose().

void AliFMDReconstructor::ProcessDigits ( TClonesArray *  digits) const
protectedvirtual

Process AliFMDDigit objects in digits. For each digit, find the psuedo-rapidity \( \eta\), azimuthal angle \( \varphi\), energy deposited \( E\), and psuedo-inclusive multiplicity \( M\).

Parameters
digitsArray of digits.

Definition at line 552 of file AliFMDReconstructor.cxx.

void AliFMDReconstructor::ProcessSignal ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
Short_t  adc 
) const
protectedvirtual

Process the signal from a single strip.

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
adcNumber of ADC counts for this strip

Definition at line 594 of file AliFMDReconstructor.cxx.

Referenced by ProcessDigit(), Reconstruct(), and SetDiagnose().

void AliFMDReconstructor::Reconstruct ( TTree *  digitsTree,
TTree *  clusterTree 
) const
virtual

Reconstruct one event from the digits passed in digitsTree. The member function creates AliFMDRecPoint objects and stores them on the output tree clusterTree. An FMD ESD object is created in parallel.

Note
This is the second part of the reconstruction as done by the offical steering class AliReconstruction.
Parameters
digitsTreeTree holding the digits of this event
clusterTreeTree to store AliFMDRecPoint objects in.

Reimplemented from AliReconstructor.

Definition at line 474 of file AliFMDReconstructor.cxx.

Referenced by HasDigitConversion(), Raw2ESD(), and Reconstruct().

void AliFMDReconstructor::Reconstruct ( AliRawReader *  reader,
TTree *   
) const
virtual

Not used

Todo:
Implement this, such that we'll reconstruct directly from the read ADC values rather than going via an intermedant TClonesArray of AliFMDDigits

Reimplemented from AliReconstructor.

Definition at line 421 of file AliFMDReconstructor.cxx.

void AliFMDReconstructor::Reconstruct ( AliFMDRawReader reader) const
virtual

Not used.

Todo:
This is called by the above same member function but with a pointer to a AliRawReader object and a pointer to a TTree object.
Parameters
readerReader object

Definition at line 391 of file AliFMDReconstructor.cxx.

virtual void AliFMDReconstructor::SetAngleCorrect ( Bool_t  use = kTRUE)
inlinevirtual

Set whether we should do angle correction or nor

Parameters
useIf true, do angle correction

Definition at line 177 of file AliFMDReconstructor.h.

Referenced by AliFMDReconstructor().

void AliFMDReconstructor::SetDiagnose ( Bool_t  use = kTRUE)
inline

Set whether we want to do diagnostics. If this is enabled, a file named FMD.Diag.root will be made. It contains a set of histograms for each event, filed in separate directories in the file. The histograms are

* diagStep1   Read ADC vs. Noise surpressed ADC 
* diagStep2   Noise surpressed ADC vs. calculated Energy dep.
* diagStep3   Energy deposition vs. angle corrected Energy dep.
* diagStep4   Energy deposition vs. calculated multiplicity
* diagAll     Read ADC vs. calculated multiplicity
* 
Parameters
useIf true, make the diagnostics file

Definition at line 193 of file AliFMDReconstructor.h.

Referenced by AliFMDQADataMakerRec::InitRaws(), and Raw2ESD().

virtual void AliFMDReconstructor::SetESD ( AliESDEvent esd)
inlinevirtual

Not used

Definition at line 165 of file AliFMDReconstructor.h.

virtual void AliFMDReconstructor::SetNoiseFactor ( Float_t  f = 3)
inlinevirtual

Set the noise factor

Parameters
fFactor to use

Definition at line 171 of file AliFMDReconstructor.h.

Referenced by AliFMDReconstructor().

UShort_t AliFMDReconstructor::SubtractPedestal ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
UShort_t  adc,
Float_t  noiseFactor,
Bool_t  zsEnabled,
UShort_t  zsNoiseFactor 
) const
protectedvirtual

Subtract the pedestal off the ADC counts.

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
adcADC counts
noiseFactorIf pedestal substracted pedestal is less then this times the noise, then consider this to be 0.
zsEnabledWhether zero-suppression is on.
zsNoiseFactorNoise factor used in on-line pedestal subtraction.
Returns
The pedestal subtracted ADC counts (possibly 0), or USHRT_MAX in case of problems.

Definition at line 731 of file AliFMDReconstructor.cxx.

Referenced by DigitizeSignal(), ProcessSignal(), SetDiagnose(), and SubtractPedestal().

UShort_t AliFMDReconstructor::SubtractPedestal ( UShort_t  det,
Char_t  rng,
UShort_t  sec,
UShort_t  str,
Short_t  adc 
) const
protectedvirtual

Substract pedestals from raw ADC in digit

Parameters
detDetector number
rngRing identifier
secSector number
strStrip number
adcNumber of ADC counts
Returns
Pedestal subtracted ADC count.

Definition at line 804 of file AliFMDReconstructor.cxx.

void AliFMDReconstructor::UseRecoParam ( Bool_t  set = kTRUE) const
protectedvirtual

Set-up reconstructor to use values from reconstruction parameters, if present, for this event. If the argument set is false, then restore preset values.

Parameters
set

Definition at line 273 of file AliFMDReconstructor.cxx.

Referenced by Digitize(), ProcessDigits(), Reconstruct(), and SetDiagnose().

Member Data Documentation

Bool_t AliFMDReconstructor::fAngleCorrect
mutableprotected

Definition at line 456 of file AliFMDReconstructor.h.

Referenced by Adc2Energy(), ProcessDigits(), SetAngleCorrect(), and UseRecoParam().

AliFMDBoolMap AliFMDReconstructor::fBad
mutableprotected
Float_t AliFMDReconstructor::fCurrentVertex
mutableprotected

Definition at line 453 of file AliFMDReconstructor.h.

Referenced by FillESD(), GetVertex(), Init(), and PhysicalCoordinates().

TH1* AliFMDReconstructor::fDiagAll
protected

Definition at line 464 of file AliFMDReconstructor.h.

Referenced by FillESD(), Init(), and ProcessSignal().

Bool_t AliFMDReconstructor::fDiagnostics
protected

Definition at line 459 of file AliFMDReconstructor.h.

Referenced by AliFMDReconstructor(), FillESD(), Init(), and SetDiagnose().

TH1* AliFMDReconstructor::fDiagStep1
protected

Definition at line 460 of file AliFMDReconstructor.h.

Referenced by FillESD(), Init(), and SubtractPedestal().

TH1* AliFMDReconstructor::fDiagStep2
protected

Definition at line 461 of file AliFMDReconstructor.h.

Referenced by Adc2Energy(), FillESD(), and Init().

TH1* AliFMDReconstructor::fDiagStep3
protected

Definition at line 462 of file AliFMDReconstructor.h.

Referenced by Adc2Energy(), FillESD(), and Init().

TH1* AliFMDReconstructor::fDiagStep4
protected

Definition at line 463 of file AliFMDReconstructor.h.

Referenced by Energy2Multiplicity(), FillESD(), and Init().

AliESDEvent* AliFMDReconstructor::fESD
protected

Definition at line 458 of file AliFMDReconstructor.h.

Referenced by PreReconstruct(), and SetESD().

AliESDFMD* AliFMDReconstructor::fESDObj
mutableprotected
TClonesArray* AliFMDReconstructor::fMult
mutableprotected

Definition at line 450 of file AliFMDReconstructor.h.

Referenced by ProcessSignal(), Reconstruct(), and ~AliFMDReconstructor().

Int_t AliFMDReconstructor::fNMult
mutableprotected

Definition at line 451 of file AliFMDReconstructor.h.

Referenced by ProcessSignal(), and Reconstruct().

Float_t AliFMDReconstructor::fNoiseFactor
mutableprotected
TTree* AliFMDReconstructor::fTreeR
mutableprotected

Definition at line 452 of file AliFMDReconstructor.h.

Referenced by Reconstruct().

Vertex_t AliFMDReconstructor::fVertexType
mutableprotected

Definition at line 457 of file AliFMDReconstructor.h.

Referenced by FillESD(), and GetVertex().

Bool_t AliFMDReconstructor::fZombie
protected
Bool_t AliFMDReconstructor::fZS[3]
mutableprotected
UShort_t AliFMDReconstructor::fZSFactor[3]
mutableprotected

The documentation for this class was generated from the following files: