ROOT logo
AliRoot » PWGLF » FORWARD » ANALYSIS2 » AliFMDSharingFilter

class AliFMDSharingFilter: public TNamed

Function Members (Methods)

public:
AliFMDSharingFilter()
AliFMDSharingFilter(const char* title)
virtual~AliFMDSharingFilter()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidCreateOutputObjects(TList* dir)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
Bool_tFilter(const AliESDFMD& input, Bool_t lowFlux, AliESDFMD& output, Double_t zvtx)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
AliFMDMultCuts&GetHCuts()
const AliFMDMultCuts&GetHCuts() const
virtual const char*TObject::GetIconName() const
AliFMDMultCuts&GetLCuts()
const AliFMDMultCuts&GetLCuts() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAllow3Strips(Bool_t use)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetDebug(Int_t dbg = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetHCuts(const AliFMDMultCuts& c)
voidSetIgnoreESDWhenAngleCorrecting(Bool_t use)
voidSetLCuts(const AliFMDMultCuts& c)
virtual voidSetMergingDisabled(Bool_t disable)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetupForData(const TAxis& axis)
voidSetUseAngleCorrectedSignals(Bool_t use)
voidSetUseSimpleSharing(Bool_t use)
voidSetZeroSharedHitsBelowThreshold(Bool_t use)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(const TList* dir, TList* output, Int_t nEvents)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
AliFMDSharingFilter(const AliFMDSharingFilter& o)
Double_tAngleCorrect(Double_t mult, Double_t eta) const
Double_tDeAngleCorrect(Double_t mult, Double_t eta) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual Double_tGetHighCut(UShort_t d, Char_t r, Double_t eta, Bool_t errors = true) const
virtual Double_tGetLowCut(UShort_t d, Char_t r, Double_t eta) const
AliFMDSharingFilter::RingHistos*GetRingHistos(UShort_t d, Char_t r) const
voidTObject::MakeZombie()
AliFMDSharingFilter&operator=(const AliFMDSharingFilter& o)
Double_tSignalInStrip(const AliESDFMD& fmd, UShort_t d, Char_t r, UShort_t s, UShort_t t) const

Data Members

public:
enum Status { kNone
kCandidate
kMergedWithOther
kMergedInto
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tfCorrectAnglesWhether to work on angle corrected signals
Int_tfDebugDebug level
AliFMDMultCutsfHCutsCuts object for high cuts
TH2*fHighCutsHigh cuts used
Bool_tfIgnoreESDForAngleCorrectionIgnore ESD information when angle correcting
AliFMDMultCutsfLCutsCuts object for low cuts
TH2*fLowCutsHigh cuts used
Bool_tfMergingDisabledIf true, do not merge
TStringTNamed::fNameobject identifier
TListfRingHistosList of histogram containers
Bool_tfThreeStripSharingIn case of simple sharing allow 3 strips
TStringTNamed::fTitleobject title
Bool_tfUseSimpleMergingenable simple sharing by HHD
Bool_tfZeroSharedHitsBelowThresholdZero shared strip below cut?

Class Charts

Inheritance Chart:
TNamed
AliFMDSharingFilter
AliFMDMCSharingFilter

Function documentation

AliFMDSharingFilter()
 fSummed(0),
 fOper(0),

 Default Constructor - do not use

AliFMDSharingFilter(const char* title)
 fSummed(0),
 fOper(0),

 Constructor

 Parameters:
    title Title of object  - not significant

~AliFMDSharingFilter()
 Destructor

GetRingHistos(UShort_t d, Char_t r) const
 Get the ring histogram container

 Parameters:
    d Detector
    r Ring

 Return:
    Ring histogram container

SetupForData(const TAxis& axis)
 Initialise - called on first event
Filter(const AliESDFMD& input, Bool_t lowFlux, AliESDFMD& output, Double_t zvtx)
 Filter the input AliESDFMD object

 Parameters:
    input     Input
    lowFlux   If this is a low-flux event
    output    Output AliESDFMD object

 Return:
    True on success, false otherwise

SignalInStrip(const AliESDFMD& fmd, UShort_t d, Char_t r, UShort_t s, UShort_t t) const
 Get the signal in a strip

 Parameters:
    fmd   ESD object
    d     Detector
    r     Ring
    s     Sector
    t     Strip

 Return:
    The energy signal

GetLowCut(UShort_t d, Char_t r, Double_t eta) const
 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.

GetHighCut(UShort_t d, Char_t r, Double_t eta, Bool_t errors = true) const
 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.

AngleCorrect(Double_t mult, Double_t eta) const
 Angle correct the signal

 Parameters:
    mult Angle Un-corrected Signal
    eta  Pseudo-rapidity

 Return:
    Angle corrected signal

DeAngleCorrect(Double_t mult, Double_t eta) const
 Angle de-correct the signal

 Parameters:
    mult Angle corrected Signal
    eta  Pseudo-rapidity

 Return:
    Angle un-corrected signal

Terminate(const TList* dir, TList* output, Int_t nEvents)
 Scale the histograms to the total number of events

 Parameters:
    dir     Where the output is
    nEvents Number of events

CreateOutputObjects(TList* dir)
 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:
    dir Directory to add to

Print(Option_t* option = "") const
 Print information

 Parameters:
    option Not used

AliFMDSharingFilter()
   * Default Constructor - do not use

void SetMergingDisabled(Bool_t disable)
   * @{
   * @name Parameters etc.


   * If called with a true argument, then merging is wholy disabled
   *
   * @param disable If true, disable merging altogether

{fMergingDisabled = disable; }
void SetDebug(Int_t dbg = 1)
   * Set the debug level.  The higher the value the more output
   *
   * @param dbg Debug level

{ fDebug = dbg; }
void SetUseAngleCorrectedSignals(Bool_t use)
   * Enable use of angle corrected signals in the algorithm
   *
   * @param use If true, use angle corrected signals,
   * otherwise use de-corrected signals.  In the final output, the
   * signals are always angle corrected.

{ fCorrectAngles = use; }
void SetZeroSharedHitsBelowThreshold(Bool_t use)
   * Enable zeroing of signals if below high cut
   *
   * @param use zero the signals if below sharing cut
   *

void SetUseSimpleSharing(Bool_t use)
   * Enable a simpler merging algorithm
   *
   * @param use use the simpler algorithm
   *

void SetAllow3Strips(Bool_t use)
   * In case of a simpler merging algorithm allow 3 strips to be
   * merged
   *
   * @param use allow three strips
   *

void SetIgnoreESDWhenAngleCorrecting(Bool_t use)
   * 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
   *
   * @param use ignore the ESD info

AliFMDMultCuts& GetLCuts()
   * @{
   * @name Cuts


   * Get the low cuts
   *
   * @return Reference to low cuts

{ return fLCuts; }
AliFMDMultCuts& GetHCuts()
   * Get the high cuts
   *
   * @return Reference to high cuts

{ return fHCuts; }
const AliFMDMultCuts& GetLCuts() const
   * Get the low cuts
   *
   * @return Reference to low cuts

{ return fLCuts; }
const AliFMDMultCuts& GetHCuts() const
   * Get the high cuts
   *
   * @return Reference to high cuts

{ return fHCuts; }
void SetLCuts(const AliFMDMultCuts& c)
   * Set the low cuts
   *
   * @param c Cuts object

{ fLCuts = c; }
void SetHCuts(const AliFMDMultCuts& c)
   * Set the high cuts
   *
   * @param c Cuts object

{ fHCuts = c; }
AliFMDSharingFilter& operator=(const AliFMDSharingFilter& o)
   * Assignment operator  - not implemented
   *
   * @return Reference to this