AliRoot Core  da88d91 (da88d91)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONCluster Class Reference

A group of adjacent pads. More...

#include <AliMUONCluster.h>

Inheritance diagram for AliMUONCluster:

Public Member Functions

 AliMUONCluster ()
 
 AliMUONCluster (const AliMUONCluster &rhs)
 
AliMUONClusteroperator= (const AliMUONCluster &rhs)
 
virtual ~AliMUONCluster ()
 
Bool_t Contains (const AliMUONPad &pad) const
 
TString AsString () const
 
AliMUONPadAddPad (const AliMUONPad &pad)
 
AliMpArea Area () const
 Area that contains all the pads (whatever the cathode) More...
 
AliMpArea Area (Int_t cathode) const
 Area that contains all the pads of a given cathode. More...
 
Float_t Charge () const
 
Float_t Charge (Int_t cathode) const
 
Float_t ChargeAsymmetry () const
 Return the cathode's charges asymmetry. More...
 
Float_t Chi2 () const
 Return chi2 of the RawCharge fit (if any) More...
 
virtual void Copy (TObject &obj) const
 
Bool_t HasPosition () const
 Return false for pre-cluster. More...
 
Bool_t IsSaturated (Int_t cathode) const
 Whether we have at least one saturated pad in a given cathode. More...
 
Bool_t IsSaturated () const
 Whether we have one saturated pad on each cathode. More...
 
Int_t MaxChargeCathode () const
 Return the max charge on the chathod. More...
 
Int_t MaxRawChargeCathode () const
 Return the max raw charge on the chathod. More...
 
TVector2 MaxPadDimensions (Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Return the biggest pad dimensions for a given cathode. More...
 
TVector2 MaxPadDimensions (Int_t statusMask, Bool_t matchMask) const
 Return the biggest pad dimensions. More...
 
TVector2 MinPadDimensions (Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Return the smallest pad dimensions for a given cathode. More...
 
TVector2 MinPadDimensions (Int_t statusMask, Bool_t matchMask) const
 Return the smallest pad dimensions. More...
 
Int_t Multiplicity () const
 
Int_t Multiplicity (Int_t cathode) const
 
Long_t NofPads (Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Compute number of pads in X and Y direction for a given cathode. More...
 
Long_t NofPads (Int_t statusMask, Bool_t matchMask=kTRUE) const
 Number of pads in (X,Y) direction, whatever the cathode. More...
 
Bool_t IsSortable () const
 Return true as the function Compare is implemented. More...
 
virtual Int_t Compare (const TObject *obj) const
 
AliMUONPadPad (Int_t index) const
 
virtual void Paint (Option_t *opt="")
 
TVector2 Position () const
 Return (x,y) of that cluster. More...
 
TVector2 PositionError () const
 Return errors on (x,y) More...
 
virtual void Print (Option_t *opt="") const
 
Float_t RawCharge () const
 By default, return the average of both cathode RawCharges. More...
 
Float_t RawCharge (Int_t cathode) const
 Returns the RawCharge on the given cathode. More...
 
Float_t RawChargeAsymmetry () const
 Return the cathode's raw charges asymmetry. More...
 
void RemovePad (AliMUONPad *pad)
 
void SetCharge (Float_t chargeCath0, Float_t chargeCath1)
 Set cathode (re)computed charges. More...
 
void SetChi2 (Float_t chi2)
 Set chi2 of the RawCharge fit. More...
 
void SetPosition (const TVector2 &pos, const TVector2 &errorOnPos)
 Set (x,y) of that cluster and errors. More...
 
Int_t Cathode () const
 
void AddCluster (const AliMUONCluster &cluster)
 
void Clear (Option_t *opt="")
 
Bool_t IsMonoCathode () const
 
void DumpMe () const
 

Static Public Member Functions

static Bool_t AreOverlapping (const AliMUONCluster &c1, const AliMUONCluster &c2)
 

Private Attributes

TObjArray fPads
 AliMUONPad(s) composing this cluster. More...
 
Bool_t fHasPosition
 false for pre-cluster (i.e. not yet computed) More...
 
TVector2 fPosition
 (x,y) of that cluster (only valid if fHasPosition is kTRUE) More...
 
TVector2 fPositionError
 errors on (x,y) More...
 
Int_t fMultiplicity [2]
 number of pads in each cathode More...
 
Float_t fRawCharge [2]
 cathode RawCharges More...
 
Bool_t fHasCharge
 false if SetCharge has not been called More...
 
Float_t fCharge [2]
 cathode (re)computed charges More...
 
Float_t fChi2
 chi2 of the RawCharge fit (if any) More...
 
Bool_t fIsSaturated [2]
 saturation status of cathodes More...
 

Detailed Description

A group of adjacent pads.

A group of adjacent pads

Besides holding an internal array of AliMUONPads, this object also computes some global characteristics for that pad sets.

Author
Laurent Aphecetche

Definition at line 40 of file AliMUONCluster.h.

Constructor & Destructor Documentation

AliMUONCluster::AliMUONCluster ( )

ctor

Definition at line 101 of file AliMUONCluster.cxx.

AliMUONCluster::AliMUONCluster ( const AliMUONCluster rhs)

copy ctor

Definition at line 119 of file AliMUONCluster.cxx.

AliMUONCluster::~AliMUONCluster ( )
virtual

dtor : note that we're owner of our pads

Definition at line 146 of file AliMUONCluster.cxx.

Member Function Documentation

void AliMUONCluster::AddCluster ( const AliMUONCluster cluster)

Add all the pads for cluster to this one

Definition at line 178 of file AliMUONCluster.cxx.

Referenced by AliMUONPreClusterFinderV3::AddPreCluster().

AliMUONPad * AliMUONCluster::AddPad ( const AliMUONPad pad)

Add a pad to our pad array, and update some internal information accordingly.

Definition at line 197 of file AliMUONCluster.cxx.

Referenced by AddCluster(), AliMUONPreClusterFinderV3::AddPad(), AliMUONPreClusterFinderV2::AddPad(), AliMUONPreClusterFinder::AddPad(), and AliMUONClusterFinderMLEM::AddVirtualPad().

AliMpArea AliMUONCluster::Area ( ) const

Area that contains all the pads (whatever the cathode)

Return the geometrical area covered by this cluster

Definition at line 263 of file AliMUONCluster.cxx.

Referenced by AliMUONClusterFinderPeakCOG::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakFit::BuildPixArrayOneCathode(), AliMUONClusterFinderMLEM::BuildPixArrayOneCathode(), Compare(), AliMUONClusterFinderMLEM::Paint(), Paint(), and Print().

AliMpArea AliMUONCluster::Area ( Int_t  cathode) const

Area that contains all the pads of a given cathode.

Return the geometrical area covered by this cluster's pads on a given cathode

Definition at line 289 of file AliMUONCluster.cxx.

Bool_t AliMUONCluster::AreOverlapping ( const AliMUONCluster c1,
const AliMUONCluster c2 
)
static

Whether the two clusters overlap

Definition at line 233 of file AliMUONCluster.cxx.

Referenced by AliMUONPreClusterFinderV3::AddPreCluster().

TString AliMUONCluster::AsString ( ) const

Return a string containing a compact form of the pad list

Definition at line 217 of file AliMUONCluster.cxx.

Referenced by AliMUONPreClusterFinderV3::AddPreCluster(), and AliMUONPreClusterFinderV3::DumpPreClusters().

Int_t AliMUONCluster::Cathode ( ) const

Return the cathode "number" of this cluster : 0 if all its pads are on cathode 0 1 if all its pads are on cathode 1 2 if some pads on cath 0 and some on cath 1

Definition at line 327 of file AliMUONCluster.cxx.

Referenced by AliMUONPreClusterFinderV3::AddPreCluster(), and IsMonoCathode().

Float_t AliMUONCluster::Charge ( Int_t  cathode) const

Returns the charge of a given cathode

Definition at line 407 of file AliMUONCluster.cxx.

Float_t AliMUONCluster::ChargeAsymmetry ( ) const
Float_t AliMUONCluster::Chi2 ( ) const
inline

Return chi2 of the RawCharge fit (if any)

Definition at line 70 of file AliMUONCluster.h.

Referenced by AliMUONSimpleClusterServer::Clusterize().

void AliMUONCluster::Clear ( Option_t *  opt = "")

Clear our pad array

Definition at line 154 of file AliMUONCluster.cxx.

Int_t AliMUONCluster::Compare ( const TObject *  obj) const
virtual

Compare two clusters. Comparison is made on position and rawcharge only.

Definition at line 715 of file AliMUONCluster.cxx.

Bool_t AliMUONCluster::Contains ( const AliMUONPad pad) const

Whether this cluster contains the pad

Definition at line 163 of file AliMUONCluster.cxx.

Referenced by AddCluster().

void AliMUONCluster::Copy ( TObject &  obj) const
virtual

Copy this cluster to (cluster&)obj

Definition at line 353 of file AliMUONCluster.cxx.

Referenced by AliMUONCluster(), and operator=().

void AliMUONCluster::DumpMe ( ) const

printout

Definition at line 654 of file AliMUONCluster.cxx.

Referenced by Pad().

Bool_t AliMUONCluster::HasPosition ( ) const
inline

Return false for pre-cluster.

Definition at line 75 of file AliMUONCluster.h.

Referenced by DumpMe(), and Print().

Bool_t AliMUONCluster::IsMonoCathode ( ) const

Whether we have signals only in one of the two cathodes

Definition at line 319 of file AliMUONCluster.cxx.

Referenced by AliMUONPreClusterFinder::AddPad().

Bool_t AliMUONCluster::IsSaturated ( Int_t  cathode) const
inline
Bool_t AliMUONCluster::IsSaturated ( ) const
inline

Whether we have one saturated pad on each cathode.

Definition at line 81 of file AliMUONCluster.h.

Referenced by IsSaturated().

Bool_t AliMUONCluster::IsSortable ( ) const
inline

Return true as the function Compare is implemented.

Definition at line 111 of file AliMUONCluster.h.

Int_t AliMUONCluster::MaxChargeCathode ( ) const
inline

Return the max charge on the chathod.

Definition at line 84 of file AliMUONCluster.h.

TVector2 AliMUONCluster::MaxPadDimensions ( Int_t  cathode,
Int_t  statusMask,
Bool_t  matchMask 
) const

Return the biggest pad dimensions for a given cathode.

Returns the maximum pad dimensions (half sizes), only considering pads matching (or not, depending matchMask) a given mask, within a given cathode

Definition at line 447 of file AliMUONCluster.cxx.

Referenced by MaxPadDimensions().

TVector2 AliMUONCluster::MaxPadDimensions ( Int_t  statusMask,
Bool_t  matchMask 
) const

Return the biggest pad dimensions.

Returns the maximum pad dimensions (half sizes), only considering pads matching (or not, depending matchMask) a given mask

Definition at line 433 of file AliMUONCluster.cxx.

Int_t AliMUONCluster::MaxRawChargeCathode ( ) const
inline
TVector2 AliMUONCluster::MinPadDimensions ( Int_t  cathode,
Int_t  statusMask,
Bool_t  matchMask 
) const

Return the smallest pad dimensions for a given cathode.

Returns the minimum pad dimensions (half sizes), only considering pads matching (or not, depending matchMask) a given mask, within a given cathode

Definition at line 485 of file AliMUONCluster.cxx.

Referenced by AliMUONClusterFinderMLEM::AddVirtualPad(), AliMUONClusterFinderPeakCOG::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakFit::BuildPixArrayOneCathode(), AliMUONClusterFinderMLEM::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakCOG::FindCluster(), AliMUONClusterFinderPeakFit::FindClusterCOG(), MinPadDimensions(), and NofPads().

TVector2 AliMUONCluster::MinPadDimensions ( Int_t  statusMask,
Bool_t  matchMask 
) const

Return the smallest pad dimensions.

Returns the minimum pad dimensions (half sizes), only considering pads matching (or not, depending matchMask) a given mask

Definition at line 471 of file AliMUONCluster.cxx.

Int_t AliMUONCluster::Multiplicity ( ) const

Returns the total number of pads in this cluster

Definition at line 509 of file AliMUONCluster.cxx.

Referenced by AddCluster(), AliMUONPreClusterFinder::AddPad(), AliMUONClusterFinderMLEM::AddVirtualPad(), Area(), AreOverlapping(), AreOverlapping(), AsString(), AliMUONClusterFinderPeakCOG::BuildPixArray(), AliMUONClusterFinderPeakFit::BuildPixArray(), AliMUONClusterFinderMLEM::BuildPixArray(), AliMUONClusterFinderPeakCOG::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakFit::BuildPixArrayOneCathode(), AliMUONClusterFinderMLEM::BuildPixArrayOneCathode(), Cathode(), Charge(), AliMUONClusterFinderPeakCOG::CheckPrecluster(), AliMUONClusterFinderPeakFit::CheckPrecluster(), AliMUONClusterFinderMLEM::CheckPrecluster(), AliMUONClusterFinderPeakCOG::CheckPreclusterTwoCathodes(), AliMUONClusterFinderPeakFit::CheckPreclusterTwoCathodes(), AliMUONClusterFinderMLEM::CheckPreclusterTwoCathodes(), AliMUONSimpleClusterServer::Clusterize(), AliMUONClusterFinderMLEM::ComputeCoefficients(), AliMUONClusterFinderCOG::ComputePosition(), AliMUONClusterFinderSimpleFit::ComputePosition(), Contains(), DumpMe(), AliMUONClusterSplitterMLEM::Fcn1(), AliMUONClusterFinderPeakCOG::FindCluster(), AliMUONClusterFinderMLEM::FindCluster(), AliMUONClusterFinderPeakFit::FindClusterCOG(), AliMUONClusterFinderPeakFit::FindClusterFit(), AliMUONClusterSplitterMLEM::Fit(), AliMUONClusterFinderMLEM::MainLoop(), AliMUONPreClusterFinderV3::MakeCathodePreClusters(), MaxPadDimensions(), AliMUONClusterSplitterMLEM::Merge(), MinPadDimensions(), AliMUONClusterFinderMLEM::Mlem(), AliMUONPreClusterFinderV2::NextCluster(), AliMUONPreClusterFinder::NextCluster(), AliMUONClusterFinderPeakCOG::NextCluster(), AliMUONClusterFinderPeakFit::NextCluster(), AliMUONClusterFinderMLEM::NextCluster(), NofPads(), Pad(), Paint(), Print(), AliMUONClusterSplitterMLEM::SelectPad(), AliMUONClusterFinderMLEM::Simple(), AliMUONClusterSplitterMLEM::Split(), AliMUONClusterSplitterMLEM::UpdatePads(), AliMUONClusterFinderPeakCOG::WorkOnPreCluster(), AliMUONClusterFinderPeakFit::WorkOnPreCluster(), and AliMUONClusterFinderMLEM::WorkOnPreCluster().

Int_t AliMUONCluster::Multiplicity ( Int_t  cathode) const

Returns the number of pads in this cluster, in the given cathode

Definition at line 517 of file AliMUONCluster.cxx.

Long_t AliMUONCluster::NofPads ( Int_t  cathode,
Int_t  statusMask,
Bool_t  matchMask 
) const

Compute number of pads in X and Y direction for a given cathode.

Number of pads of a given cathode, satisfying (or not, depending matchMask) a given mask

Definition at line 565 of file AliMUONCluster.cxx.

Referenced by AliMUONClusterFinderMLEM::AddVirtualPad(), AliMUONClusterSplitterMLEM::Fit(), NofPads(), AliMUONClusterFinderPeakCOG::PadsInXandY(), AliMUONClusterFinderPeakFit::PadsInXandY(), and AliMUONClusterFinderMLEM::PadsInXandY().

Long_t AliMUONCluster::NofPads ( Int_t  statusMask,
Bool_t  matchMask = kTRUE 
) const

Number of pads in (X,Y) direction, whatever the cathode.

Number of pads satisfying (or not, depending matchMask) a given mask

Definition at line 529 of file AliMUONCluster.cxx.

AliMUONCluster & AliMUONCluster::operator= ( const AliMUONCluster rhs)

assignement operator

Definition at line 135 of file AliMUONCluster.cxx.

AliMUONPad * AliMUONCluster::Pad ( Int_t  index) const

Returns the index-th pad

Definition at line 602 of file AliMUONCluster.cxx.

Referenced by AddCluster(), AliMUONClusterFinderMLEM::AddVirtualPad(), Area(), AreOverlapping(), AreOverlapping(), AsString(), AliMUONClusterFinderPeakCOG::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakFit::BuildPixArrayOneCathode(), AliMUONClusterFinderMLEM::BuildPixArrayOneCathode(), AliMUONClusterFinderPeakCOG::CheckPreclusterTwoCathodes(), AliMUONClusterFinderPeakFit::CheckPreclusterTwoCathodes(), AliMUONClusterFinderMLEM::CheckPreclusterTwoCathodes(), AliMUONSimpleClusterServer::Clusterize(), AliMUONClusterFinderMLEM::ComputeCoefficients(), AliMUONClusterFinderCOG::ComputePosition(), Contains(), AliMUONClusterSplitterMLEM::Fcn1(), AliMUONClusterFinderPeakCOG::FindCluster(), AliMUONClusterFinderMLEM::FindCluster(), AliMUONClusterFinderPeakFit::FindClusterCOG(), AliMUONClusterSplitterMLEM::Fit(), AliMUONClusterFinderMLEM::MainLoop(), MaxPadDimensions(), AliMUONClusterSplitterMLEM::Merge(), MinPadDimensions(), AliMUONClusterFinderMLEM::Mlem(), AliMUONClusterFinderPeakCOG::NextCluster(), AliMUONClusterFinderPeakFit::NextCluster(), AliMUONClusterFinderMLEM::NextCluster(), NofPads(), Paint(), RemovePad(), AliMUONClusterSplitterMLEM::SelectPad(), AliMUONClusterFinderMLEM::Simple(), AliMUONClusterSplitterMLEM::Split(), AliMUONClusterSplitterMLEM::UpdatePads(), AliMUONClusterFinderPeakCOG::WorkOnPreCluster(), AliMUONClusterFinderPeakFit::WorkOnPreCluster(), and AliMUONClusterFinderMLEM::WorkOnPreCluster().

void AliMUONCluster::Paint ( Option_t *  opt = "")
virtual

Paint this cluster

Definition at line 623 of file AliMUONCluster.cxx.

Referenced by AliMUONClusterFinderMLEM::Paint().

TVector2 AliMUONCluster::PositionError ( ) const
inline

Return errors on (x,y)

Definition at line 124 of file AliMUONCluster.h.

Referenced by DumpMe(), and Print().

void AliMUONCluster::Print ( Option_t *  opt = "") const
virtual
Float_t AliMUONCluster::RawCharge ( ) const

By default, return the average of both cathode RawCharges.

Returns the raw average charge

Definition at line 785 of file AliMUONCluster.cxx.

Referenced by Charge(), Compare(), DumpMe(), MaxRawChargeCathode(), Print(), and RawChargeAsymmetry().

Float_t AliMUONCluster::RawCharge ( Int_t  cathode) const

Returns the RawCharge on the given cathode.

Returns the average charge of a given cathode

Definition at line 793 of file AliMUONCluster.cxx.

Float_t AliMUONCluster::RawChargeAsymmetry ( ) const

Return the cathode's raw charges asymmetry.

Returns the raw charge asymmetry

Definition at line 805 of file AliMUONCluster.cxx.

void AliMUONCluster::RemovePad ( AliMUONPad pad)

Remove a pad. As a consequence, some internal information must be updated

Definition at line 759 of file AliMUONCluster.cxx.

Referenced by AliMUONClusterFinderPeakCOG::CheckPreclusterTwoCathodes(), AliMUONClusterFinderPeakFit::CheckPreclusterTwoCathodes(), and AliMUONClusterFinderMLEM::CheckPreclusterTwoCathodes().

void AliMUONCluster::SetCharge ( Float_t  chargeCath0,
Float_t  chargeCath1 
)
inline
void AliMUONCluster::SetPosition ( const TVector2 &  pos,
const TVector2 &  errorOnPos 
)
inline

Member Data Documentation

Float_t AliMUONCluster::fCharge[2]
private

cathode (re)computed charges

Definition at line 169 of file AliMUONCluster.h.

Referenced by AliMUONCluster(), Charge(), Copy(), and SetCharge().

Float_t AliMUONCluster::fChi2
private

chi2 of the RawCharge fit (if any)

Definition at line 170 of file AliMUONCluster.h.

Referenced by Chi2(), Copy(), and SetChi2().

Bool_t AliMUONCluster::fHasCharge
private

false if SetCharge has not been called

Definition at line 168 of file AliMUONCluster.h.

Referenced by Charge(), Copy(), and SetCharge().

Bool_t AliMUONCluster::fHasPosition
private

false for pre-cluster (i.e. not yet computed)

Definition at line 163 of file AliMUONCluster.h.

Referenced by Copy(), HasPosition(), and SetPosition().

Bool_t AliMUONCluster::fIsSaturated[2]
private

saturation status of cathodes

Definition at line 171 of file AliMUONCluster.h.

Referenced by AddPad(), AliMUONCluster(), Copy(), IsSaturated(), and RemovePad().

Int_t AliMUONCluster::fMultiplicity[2]
private

number of pads in each cathode

Definition at line 166 of file AliMUONCluster.h.

Referenced by AddPad(), AliMUONCluster(), Copy(), Multiplicity(), and RemovePad().

TObjArray AliMUONCluster::fPads
private

AliMUONPad(s) composing this cluster.

Definition at line 162 of file AliMUONCluster.h.

Referenced by AddPad(), AliMUONCluster(), Clear(), Contains(), Copy(), DumpMe(), Pad(), Print(), and RemovePad().

TVector2 AliMUONCluster::fPosition
private

(x,y) of that cluster (only valid if fHasPosition is kTRUE)

Definition at line 164 of file AliMUONCluster.h.

Referenced by Copy(), Position(), and SetPosition().

TVector2 AliMUONCluster::fPositionError
private

errors on (x,y)

Definition at line 165 of file AliMUONCluster.h.

Referenced by Copy(), PositionError(), and SetPosition().

Float_t AliMUONCluster::fRawCharge[2]
private

cathode RawCharges

Definition at line 167 of file AliMUONCluster.h.

Referenced by AddPad(), AliMUONCluster(), Copy(), RawCharge(), and RemovePad().


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