AliPhysics  2b88e80 (2b88e80)

#include <AliBaseMCTrackDensity.h>

Inheritance diagram for AliBaseMCTrackDensity:

Public Member Functions

 AliBaseMCTrackDensity ()
 
 AliBaseMCTrackDensity (const char *name)
 
 AliBaseMCTrackDensity (const AliBaseMCTrackDensity &o)
 
AliBaseMCTrackDensityoperator= (const AliBaseMCTrackDensity &o)
 
virtual ~AliBaseMCTrackDensity ()
 
void SetUseOnlyPrimary (Bool_t use)
 
void SetUseFlowWeights (Bool_t use)
 
void SetTrackGammaToPi0 (Bool_t use)
 
void SetDebug (Bool_t debug=true)
 
virtual void CreateOutputObjects (TList *list)
 
virtual void Print (Option_t *option="") const
 
void SetWeights (AliBaseMCWeights *weights)
 
void SetTruthWeights (AliBaseMCWeights *weights)
 

Protected Member Functions

Bool_t ProcessTracks (const AliMCEvent &event, const TVector3 &ip, TH2D *primary)
 
Bool_t ProcessTrack (AliMCParticle *particle, const AliMCParticle *mother)
 
virtual Int_t GetDetectorId () const =0
 
virtual AliTrackReference * ProcessRef (AliMCParticle *particle, const AliMCParticle *mother, AliTrackReference *ref)=0
 
virtual void BeginTrackRefs ()
 
virtual Bool_t CheckTrackRef (AliTrackReference *) const
 
virtual void EndTrackRefs (Int_t)
 
virtual Double_t StoreParticle (AliMCParticle *particle, const AliMCParticle *mother, AliTrackReference *ref) const
 
Bool_t GetCollisionParameters (const AliMCEvent &event)
 
Double_t GetTrackRefTheta (const AliTrackReference *ref) const
 
const AliMCParticle * GetMother (Int_t iTr, const AliMCEvent &event) const
 
Double_t CalculateWeight (const AliMCParticle *p, Bool_t isPrimary) const
 
Double_t CalculateTruthWeight (const AliMCParticle *p) const
 

Protected Attributes

Bool_t fUseOnlyPrimary
 
TH2DfBinFlow
 
TH2DfEtaBinFlow
 
TH2DfPhiBinFlow
 
TH1DfNRefs
 
AliBaseMCWeightsfWeights
 
AliBaseMCWeightsfTruthWeights
 
TVector3 fIP
 
Double_t fB
 
Double_t fPhiR
 
Bool_t fDebug
 
Bool_t fTrackGammaToPi0
 

Detailed Description

A class to calculate the particle density from track references. This code is used both in AliForwardMCCorrectionsTask and AliBaseMCDensity calculator.

Input:
  • Kinematics
  • Track-References
Corrections used:
  • None
Histograms:
  • Incident angle vs number of track references
  • Incident angle vs number of strips/cluster

Definition at line 45 of file AliBaseMCTrackDensity.h.

Constructor & Destructor Documentation

AliBaseMCTrackDensity::AliBaseMCTrackDensity ( )

Default constructor. Do not use - for ROOT I/O system use only

Definition at line 21 of file AliBaseMCTrackDensity.cxx.

Referenced by AliFMDMCTrackELoss::AliFMDMCTrackELoss().

AliBaseMCTrackDensity::AliBaseMCTrackDensity ( const char *  name)

Normal constructor

Parameters
nameNot used

Definition at line 41 of file AliBaseMCTrackDensity.cxx.

AliBaseMCTrackDensity::AliBaseMCTrackDensity ( const AliBaseMCTrackDensity o)

Copy constructor

Parameters
oObject to copy from

Definition at line 61 of file AliBaseMCTrackDensity.cxx.

virtual AliBaseMCTrackDensity::~AliBaseMCTrackDensity ( )
inlinevirtual

Destructor.

Definition at line 75 of file AliBaseMCTrackDensity.h.

Member Function Documentation

virtual void AliBaseMCTrackDensity::BeginTrackRefs ( )
inlineprotectedvirtual

Called at before loop over track references

Reimplemented in AliFMDMCTrackELoss, AliFMDMCTrackDensity, and AliSPDMCTrackDensity.

Definition at line 192 of file AliBaseMCTrackDensity.h.

Referenced by ProcessTrack().

Double_t AliBaseMCTrackDensity::CalculateTruthWeight ( const AliMCParticle *  p) const
protected

Calculate MC truth weight

Parameters
pParticle
Returns
Weight for the particle

Definition at line 411 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), and ProcessTracks().

Double_t AliBaseMCTrackDensity::CalculateWeight ( const AliMCParticle *  p,
Bool_t  isPrimary 
) const
protected

Calculate observed particle weight

Parameters
pParticle
isPrimaryTrue if primary
Returns
Weight for the particle

Definition at line 402 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), and StoreParticle().

virtual Bool_t AliBaseMCTrackDensity::CheckTrackRef ( AliTrackReference *  ) const
inlineprotectedvirtual

Check a track reference

Returns
true if the track reference should be used

Reimplemented in AliSPDMCTrackDensity.

Definition at line 198 of file AliBaseMCTrackDensity.h.

Referenced by ProcessTrack().

void AliBaseMCTrackDensity::CreateOutputObjects ( TList list)
virtual
virtual void AliBaseMCTrackDensity::EndTrackRefs ( Int_t  )
inlineprotectedvirtual

Called at before loop over track references

Reimplemented in AliFMDMCTrackELoss, and AliFMDMCTrackDensity.

Definition at line 203 of file AliBaseMCTrackDensity.h.

Referenced by ProcessTrack().

Bool_t AliBaseMCTrackDensity::GetCollisionParameters ( const AliMCEvent &  event)
protected

Get the parameters of this event

Parameters
eventEvent
Returns
true if found, false otherwise

Definition at line 281 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), and ProcessTracks().

virtual Int_t AliBaseMCTrackDensity::GetDetectorId ( ) const
protectedpure virtual

Must be defined to return the track-reference ID for this detector

Returns
Detector id set on track references

Implemented in AliFMDMCTrackELoss, AliFMDMCTrackDensity, and AliSPDMCTrackDensity.

Referenced by ProcessTrack(), and SetDebug().

const AliMCParticle * AliBaseMCTrackDensity::GetMother ( Int_t  iTr,
const AliMCEvent &  event 
) const
protected

Get ultimate mother of a track

Parameters
iTrTrack number
eventEvent
Returns
Pointer to mother or null

Definition at line 238 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), and ProcessTracks().

Double_t AliBaseMCTrackDensity::GetTrackRefTheta ( const AliTrackReference *  ref) const
protected

Get incident angle of this track reference

Parameters
refTrack reference
Returns
incident angle (in radians)

Definition at line 224 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), AliFMDMCTrackDensity::ProcessRef(), and AliFMDMCTrackELoss::ProcessRef().

AliBaseMCTrackDensity & AliBaseMCTrackDensity::operator= ( const AliBaseMCTrackDensity o)

Assignment operator

Parameters
oObject to assign from
Returns
Reference to this

Definition at line 82 of file AliBaseMCTrackDensity.cxx.

Referenced by AliFMDMCTrackELoss::AliFMDMCTrackELoss(), AliSPDMCTrackDensity::operator=(), and AliFMDMCTrackDensity::operator=().

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

Print information to standard out

Parameters
optionNot used

Reimplemented in AliFMDMCTrackELoss, AliFMDMCTrackDensity, and AliSPDMCTrackDensity.

Definition at line 431 of file AliBaseMCTrackDensity.cxx.

Referenced by AliSPDMCTrackDensity::Print(), AliFMDMCTrackDensity::Print(), AliFMDMCTrackELoss::Print(), and SetDebug().

virtual AliTrackReference* AliBaseMCTrackDensity::ProcessRef ( AliMCParticle *  particle,
const AliMCParticle *  mother,
AliTrackReference *  ref 
)
protectedpure virtual

Process a track reference

Note
If particle refers to a primary particle, then it is passed as the mother argument too. That is, both arguments point to the same particle.
Parameters
particleParticle
motherUltimate mother (if not primary)
refReference
Returns
0 if no output should be generated for this reference, or pointer to track-reference to produce output for.

Implemented in AliFMDMCTrackELoss, AliFMDMCTrackDensity, and AliSPDMCTrackDensity.

Referenced by ProcessTrack(), and SetDebug().

Bool_t AliBaseMCTrackDensity::ProcessTrack ( AliMCParticle *  particle,
const AliMCParticle *  mother 
)
protected

Process a single track

Note
If particle refers to a primary particle, then it is passed as the mother argument too. That is, both arguments point to the same particle.
Parameters
particleParticle
motherUltimate mother
Returns
true on succsess

Definition at line 293 of file AliBaseMCTrackDensity.cxx.

Referenced by ProcessTracks(), and SetDebug().

Bool_t AliBaseMCTrackDensity::ProcessTracks ( const AliMCEvent &  event,
const TVector3 &  ip,
TH2D primary 
)
protected

Loops over all the particles in the passed event. If primary is not null, then that histogram is filled with the primary particle information - irrespective of whether the particle actually hits the Base or not. For each track (primary or secondary, unless only primary information is requested - see SetUseOnlyPrimary) loop over all track references to that particle and check if they come from the Base. In that case, figure out which strip(s) to assign the track to, and fill the hits structure.

Parameters
eventMC event
ipIP z-coordinate
primaryPrimary information, if available.
Returns
true

Definition at line 341 of file AliBaseMCTrackDensity.cxx.

Referenced by AliSPDMCTrackDensity::Calculate(), AliFMDMCTrackDensity::Calculate(), AliFMDMCTrackELoss::Calculate(), and SetDebug().

void AliBaseMCTrackDensity::SetDebug ( Bool_t  debug = true)
inline

Set whether to print debug messages. Please note this will produce a lot of output.

Parameters
debugWhether to enable debug messages or not

Definition at line 104 of file AliBaseMCTrackDensity.h.

Referenced by AddTaskForwardMCCorr(), and AliFMDMCSharingFilter::SetDebug().

void AliBaseMCTrackDensity::SetTrackGammaToPi0 ( Bool_t  use)
inline

Set whether to try to track primary \( \gamma\) back to a \(\pi^0\)

Parameters
useIf true, try to track \(\gamma\) to \(\pi^0\)

Definition at line 97 of file AliBaseMCTrackDensity.h.

void AliBaseMCTrackDensity::SetTruthWeights ( AliBaseMCWeights weights)

Definition at line 115 of file AliBaseMCTrackDensity.cxx.

Referenced by AddTaskForwardMCCorr(), and SetDebug().

void AliBaseMCTrackDensity::SetUseFlowWeights ( Bool_t  use)

Whether to `after-burn' the particles with flow

Backward-compatibility member function

Parameters
use
Deprecated:
Use SetWeights instead.

Definition at line 125 of file AliBaseMCTrackDensity.cxx.

Referenced by SetUseOnlyPrimary().

void AliBaseMCTrackDensity::SetUseOnlyPrimary ( Bool_t  use)
inline

Set whether to only consider primaries

Parameters
useIf true, consider only primaries

Definition at line 82 of file AliBaseMCTrackDensity.h.

Referenced by AliForwardMCMultiplicityTask::SetOnlyPrimary().

void AliBaseMCTrackDensity::SetWeights ( AliBaseMCWeights weights)

Definition at line 105 of file AliBaseMCTrackDensity.cxx.

Referenced by AddTaskForwardMCCorr(), SetDebug(), and SetUseFlowWeights().

Double_t AliBaseMCTrackDensity::StoreParticle ( AliMCParticle *  particle,
const AliMCParticle *  mother,
AliTrackReference *  ref 
) const
protectedvirtual

Store a particle hit in Basedr[s,t] in output

Note
If particle refers to a primary particle, then it is passed as the mother argument too. That is, both arguments point to the same particle.
Parameters
particleParticle to store
motherUltimate mother of particle
refLongest track reference
Returns
Weight factor

Reimplemented in AliFMDMCTrackELoss, AliFMDMCTrackDensity, and AliSPDMCTrackDensity.

Definition at line 178 of file AliBaseMCTrackDensity.cxx.

Referenced by EndTrackRefs(), ProcessTrack(), AliSPDMCTrackDensity::StoreParticle(), AliFMDMCTrackDensity::StoreParticle(), and AliFMDMCTrackELoss::StoreParticle().

Member Data Documentation

Double_t AliBaseMCTrackDensity::fB
protected
TH2D* AliBaseMCTrackDensity::fBinFlow
protected

Definition at line 264 of file AliBaseMCTrackDensity.h.

Referenced by CreateOutputObjects(), operator=(), and StoreParticle().

TH2D* AliBaseMCTrackDensity::fEtaBinFlow
protected

Definition at line 265 of file AliBaseMCTrackDensity.h.

Referenced by CreateOutputObjects(), operator=(), and StoreParticle().

TVector3 AliBaseMCTrackDensity::fIP
protected
TH1D* AliBaseMCTrackDensity::fNRefs
protected

Definition at line 267 of file AliBaseMCTrackDensity.h.

Referenced by CreateOutputObjects(), operator=(), and ProcessTrack().

TH2D* AliBaseMCTrackDensity::fPhiBinFlow
protected

Definition at line 266 of file AliBaseMCTrackDensity.h.

Referenced by CreateOutputObjects(), operator=(), and StoreParticle().

Double_t AliBaseMCTrackDensity::fPhiR
protected
Bool_t AliBaseMCTrackDensity::fTrackGammaToPi0
protected

Definition at line 274 of file AliBaseMCTrackDensity.h.

Referenced by GetMother(), operator=(), and SetTrackGammaToPi0().

AliBaseMCWeights* AliBaseMCTrackDensity::fTruthWeights
protected
Bool_t AliBaseMCTrackDensity::fUseOnlyPrimary
protected

Definition at line 263 of file AliBaseMCTrackDensity.h.

Referenced by operator=(), Print(), ProcessTracks(), and SetUseOnlyPrimary().

AliBaseMCWeights* AliBaseMCTrackDensity::fWeights
protected

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