AliPhysics  e34b7ac (e34b7ac)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliFMDSharingFilter Class Reference

#include <AliFMDSharingFilter.h>

Inheritance diagram for AliFMDSharingFilter:

Classes

struct  RingHistos
 

Public Types

enum  Status { kNone = 1, kCandidate = 2, kMergedWithOther = 3, kMergedInto = 4 }
 

Public Member Functions

virtual ~AliFMDSharingFilter ()
 
 AliFMDSharingFilter ()
 
 AliFMDSharingFilter (const char *title)
 
virtual void Print (Option_t *option="") const
 
Parameters etc.
virtual void SetMergingDisabled (Bool_t disable)
 
virtual void SetDebug (Int_t dbg=1)
 
void SetUseAngleCorrectedSignals (Bool_t use)
 
void SetZeroSharedHitsBelowThreshold (Bool_t use)
 
void SetUseSimpleSharing (Bool_t use)
 
void SetAllow3Strips (Bool_t use)
 
void SetIgnoreESDWhenAngleCorrecting (Bool_t use)
 
Processing
void SetupForData (const TAxis &axis)
 
Bool_t Filter (const AliESDFMD &input, Bool_t lowFlux, AliESDFMD &output, Double_t zvtx)
 
virtual void Terminate (const TList *dir, TList *output, Int_t nEvents)
 
virtual void CreateOutputObjects (TList *dir)
 
Cuts
AliFMDMultCutsGetLCuts ()
 
AliFMDMultCutsGetHCuts ()
 
const AliFMDMultCutsGetLCuts () const
 
const AliFMDMultCutsGetHCuts () const
 
void SetLCuts (const AliFMDMultCuts &c)
 
void SetHCuts (const AliFMDMultCuts &c)
 

Protected Member Functions

 AliFMDSharingFilter (const AliFMDSharingFilter &o)
 
AliFMDSharingFilteroperator= (const AliFMDSharingFilter &)
 
RingHistosGetRingHistos (UShort_t d, Char_t r) const
 
Double_t SignalInStrip (const AliESDFMD &fmd, UShort_t d, Char_t r, UShort_t s, UShort_t t) const
 
Double_t AngleCorrect (Double_t mult, Double_t eta) const
 
Double_t DeAngleCorrect (Double_t mult, Double_t eta) const
 
virtual Double_t GetHighCut (UShort_t d, Char_t r, Double_t eta, Bool_t errors=true) const
 
virtual Double_t GetLowCut (UShort_t d, Char_t r, Double_t eta) const
 
 ClassDef (AliFMDSharingFilter, 11)
 

Protected Attributes

TList fRingHistos
 
Bool_t fCorrectAngles
 
TH2fHighCuts
 
TH2fLowCuts
 
Int_t fDebug
 
Bool_t fZeroSharedHitsBelowThreshold
 
AliFMDMultCuts fLCuts
 
AliFMDMultCuts fHCuts
 
Bool_t fUseSimpleMerging
 
Bool_t fThreeStripSharing
 
Bool_t fMergingDisabled
 
Bool_t fIgnoreESDForAngleCorrection
 

Detailed Description

Class to do the sharing correction. That is, a filter that merges adjacent strip signals presumably originating from a single particle that impinges on the detector in such a way that it deposite energy into two or more strips.

alice-int-2012-040-share_fraction.png
Energy loss sharing
Input:
Output:
  • AliESDFMD object - copy of input, but with signals merged
Corrections used:
Histograms:
  • For each ring (FMD1i, FMD2i, FMD2o, FMD3i, FMD3o) the distribution of signals before and after the filter.
  • For each ring (see above), an array of distributions of number of hit strips for each vertex bin (if enabled - see SetupForData method)

Definition at line 56 of file AliFMDSharingFilter.h.

Member Enumeration Documentation

Status of a strip

Deprecated:
Not used
Enumerator
kNone 

Nothing yet

kCandidate 

Candidate for merging

kMergedWithOther 

This was merged into other strip

kMergedInto 

Other strips was merged into this

Definition at line 63 of file AliFMDSharingFilter.h.

Constructor & Destructor Documentation

AliFMDSharingFilter::~AliFMDSharingFilter ( )
virtual

Destructor

Definition at line 111 of file AliFMDSharingFilter.cxx.

AliFMDSharingFilter::AliFMDSharingFilter ( )

Default Constructor - do not use

AliFMDSharingFilter::AliFMDSharingFilter ( const char *  title)

Constructor

Parameters
titleTitle of object - not significant

Definition at line 77 of file AliFMDSharingFilter.cxx.

AliFMDSharingFilter::AliFMDSharingFilter ( const AliFMDSharingFilter o)
inlineprotected

Copy constructor - not implemented

Definition at line 236 of file AliFMDSharingFilter.h.

Member Function Documentation

Double_t AliFMDSharingFilter::AngleCorrect ( Double_t  mult,
Double_t  eta 
) const
protected

Angle correct the signal

Parameters
multAngle Un-corrected Signal
etaPseudo-rapidity
Returns
Angle corrected signal

Definition at line 520 of file AliFMDSharingFilter.cxx.

Referenced by Filter(), and SignalInStrip().

AliFMDSharingFilter::ClassDef ( AliFMDSharingFilter  ,
11   
)
protected
void AliFMDSharingFilter::CreateOutputObjects ( TList dir)
virtual

Define the output histograms. These are put in a sub list of the passed list. The histograms are merged before the parent task calls AliAnalysisTaskSE::Terminate

Parameters
dirDirectory to add to

Reimplemented in AliFMDMCSharingFilter.

Definition at line 637 of file AliFMDSharingFilter.cxx.

Referenced by AliForwardQATask::Book(), AliForwardMultiplicityBase::Book(), and AliFMDMCSharingFilter::CreateOutputObjects().

Double_t AliFMDSharingFilter::DeAngleCorrect ( Double_t  mult,
Double_t  eta 
) const
protected

Angle de-correct the signal

Parameters
multAngle corrected Signal
etaPseudo-rapidity
Returns
Angle un-corrected signal

Definition at line 538 of file AliFMDSharingFilter.cxx.

Referenced by SignalInStrip().

Bool_t AliFMDSharingFilter::Filter ( const AliESDFMD input,
Bool_t  lowFlux,
AliESDFMD output,
Double_t  zvtx 
)

Filter the input AliESDFMD object

Parameters
inputInput
lowFluxIf this is a low-flux event
outputOutput AliESDFMD object
zvtxVertex position
Returns
True on success, false otherwise

Definition at line 192 of file AliFMDSharingFilter.cxx.

Referenced by AliForwardMultiplicityTask::Event(), AliForwardMCMultiplicityTask::Event(), and AliForwardQATask::Event().

AliFMDMultCuts& AliFMDSharingFilter::GetHCuts ( )
inline

Get the high cuts

Returns
Reference to high cuts

Definition at line 206 of file AliFMDSharingFilter.h.

Referenced by AliForwardQATask::PreData().

const AliFMDMultCuts& AliFMDSharingFilter::GetHCuts ( ) const
inline

Get the high cuts

Returns
Reference to high cuts

Definition at line 218 of file AliFMDSharingFilter.h.

Double_t AliFMDSharingFilter::GetHighCut ( UShort_t  d,
Char_t  r,
Double_t  eta,
Bool_t  errors = true 
) const
protectedvirtual

Get the high cut. The high cut is defined as the most-probably-value peak found from the energy distributions, minus 2 times the width of the corresponding Landau.

Parameters
dDetector
rRing
etaEta value
errorsIf false, do not show errors
Returns
0 or less on failure, otherwise \(\Delta_{mp}-n\xi\)

Definition at line 506 of file AliFMDSharingFilter.cxx.

Referenced by Filter().

AliFMDMultCuts& AliFMDSharingFilter::GetLCuts ( )
inline

Get the low cuts

Returns
Reference to low cuts

Definition at line 200 of file AliFMDSharingFilter.h.

Referenced by AliForwardQATask::PreData().

const AliFMDMultCuts& AliFMDSharingFilter::GetLCuts ( ) const
inline

Get the low cuts

Returns
Reference to low cuts

Definition at line 212 of file AliFMDSharingFilter.h.

Double_t AliFMDSharingFilter::GetLowCut ( UShort_t  d,
Char_t  r,
Double_t  eta 
) const
protectedvirtual

Get the low cut. Normally, the low cut is taken to be the lower value of the fit range used when generating the energy loss fits. However, if fLowCut is set (using SetLowCit) to a value greater than 0, then that value is used.

Parameters
dDetector
rRing
etaEta value
Returns

Definition at line 492 of file AliFMDSharingFilter.cxx.

Referenced by Filter().

AliFMDSharingFilter::RingHistos * AliFMDSharingFilter::GetRingHistos ( UShort_t  d,
Char_t  r 
) const
protected

Get the ring histogram container

Parameters
dDetector
rRing
Returns
Ring histogram container

Definition at line 122 of file AliFMDSharingFilter.cxx.

Referenced by Filter().

AliFMDSharingFilter& AliFMDSharingFilter::operator= ( const AliFMDSharingFilter )
inlineprotected

Assignment operator - not implemented

Returns
Reference to this

Definition at line 242 of file AliFMDSharingFilter.h.

Referenced by AliFMDMCSharingFilter::operator=().

void AliFMDSharingFilter::Print ( Option_t option = "") const
virtual

Print information

Parameters
optionNot used

Reimplemented in AliFMDMCSharingFilter.

Definition at line 720 of file AliFMDSharingFilter.cxx.

Referenced by AliForwardMultiplicityBase::Print(), AliFMDMCSharingFilter::Print(), and AliForwardQATask::Print().

void AliFMDSharingFilter::SetAllow3Strips ( Bool_t  use)
inline

In case of a simpler merging algorithm allow 3 strips to be merged

Parameters
useallow three strips

Definition at line 133 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

virtual void AliFMDSharingFilter::SetDebug ( Int_t  dbg = 1)
inlinevirtual

Set the debug level. The higher the value the more output

Parameters
dbgDebug level

Reimplemented in AliFMDMCSharingFilter.

Definition at line 103 of file AliFMDSharingFilter.h.

Referenced by AliFMDMCSharingFilter::SetDebug(), AliForwardQATask::SetDebug(), and AliForwardMultiplicityBase::SetDebug().

void AliFMDSharingFilter::SetHCuts ( const AliFMDMultCuts c)
inline

Set the high cuts

Parameters
cCuts object

Definition at line 230 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDSharingFilter::SetIgnoreESDWhenAngleCorrecting ( Bool_t  use)
inline

Set whether to ignore the ESD info when angle correcting, this is to counter a known issue where the info in the ESD is incorrect

Parameters
useignore the ESD info

Definition at line 140 of file AliFMDSharingFilter.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDSharingFilter::SetLCuts ( const AliFMDMultCuts c)
inline

Set the low cuts

Parameters
cCuts object

Definition at line 224 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

virtual void AliFMDSharingFilter::SetMergingDisabled ( Bool_t  disable)
inlinevirtual

If called with a true argument, then merging is wholy disabled

Parameters
disableIf true, disable merging altogether

Definition at line 97 of file AliFMDSharingFilter.h.

void AliFMDSharingFilter::SetupForData ( const TAxis axis)

Initialize

Parameters
axisDefault eta axis from parent task

Definition at line 147 of file AliFMDSharingFilter.cxx.

Referenced by AliForwardQATask::PreData(), and AliForwardMultiplicityBase::PreData().

void AliFMDSharingFilter::SetUseAngleCorrectedSignals ( Bool_t  use)
inline

Enable use of angle corrected signals in the algorithm

Parameters
useIf true, use angle corrected signals, otherwise use de-corrected signals. In the final output, the signals are always angle corrected.

Definition at line 111 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDSharingFilter::SetUseSimpleSharing ( Bool_t  use)
inline

Enable a simpler merging algorithm

Parameters
useuse the simpler algorithm

Definition at line 125 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDSharingFilter::SetZeroSharedHitsBelowThreshold ( Bool_t  use)
inline

Enable zeroing of signals if below high cut

Parameters
usezero the signals if below sharing cut

Definition at line 118 of file AliFMDSharingFilter.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

Double_t AliFMDSharingFilter::SignalInStrip ( const AliESDFMD fmd,
UShort_t  d,
Char_t  r,
UShort_t  s,
UShort_t  t 
) const
protected

Get the signal in a strip

Parameters
fmdESD object
dDetector
rRing
sSector
tStrip
Returns
The energy signal

Definition at line 435 of file AliFMDSharingFilter.cxx.

Referenced by Filter().

void AliFMDSharingFilter::Terminate ( const TList dir,
TList output,
Int_t  nEvents 
)
virtual

Scale the histograms to the total number of events

Parameters
dirWhere the output is
outputOutput list
nEventsNumber of events

Reimplemented in AliFMDMCSharingFilter.

Definition at line 557 of file AliFMDSharingFilter.cxx.

Referenced by AliForwardQATask::Finalize(), AliForwardMultiplicityBase::Finalize(), and AliFMDMCSharingFilter::Terminate().

Member Data Documentation

Bool_t AliFMDSharingFilter::fCorrectAngles
protected
Int_t AliFMDSharingFilter::fDebug
protected
AliFMDMultCuts AliFMDSharingFilter::fHCuts
protected
TH2* AliFMDSharingFilter::fHighCuts
protected

Definition at line 391 of file AliFMDSharingFilter.h.

Referenced by CreateOutputObjects(), GetHighCut(), and SetupForData().

Bool_t AliFMDSharingFilter::fIgnoreESDForAngleCorrection
protected

Definition at line 400 of file AliFMDSharingFilter.h.

Referenced by SetIgnoreESDWhenAngleCorrecting(), and SignalInStrip().

AliFMDMultCuts AliFMDSharingFilter::fLCuts
protected
TH2* AliFMDSharingFilter::fLowCuts
protected

Definition at line 392 of file AliFMDSharingFilter.h.

Referenced by CreateOutputObjects(), GetLowCut(), and SetupForData().

Bool_t AliFMDSharingFilter::fMergingDisabled
protected

Definition at line 399 of file AliFMDSharingFilter.h.

Referenced by CreateOutputObjects(), Filter(), and SetMergingDisabled().

TList AliFMDSharingFilter::fRingHistos
protected
Bool_t AliFMDSharingFilter::fThreeStripSharing
protected

Definition at line 398 of file AliFMDSharingFilter.h.

Referenced by CreateOutputObjects(), Filter(), Print(), and SetAllow3Strips().

Bool_t AliFMDSharingFilter::fUseSimpleMerging
protected

Definition at line 397 of file AliFMDSharingFilter.h.

Referenced by CreateOutputObjects(), Print(), and SetUseSimpleSharing().

Bool_t AliFMDSharingFilter::fZeroSharedHitsBelowThreshold
protected

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