AliPhysics  a76316e (a76316e)
AliFMDMCTrackDensity.h
Go to the documentation of this file.
1 #ifndef ALIFMDMCTRACKDENSITY_MC
2 #define ALIFMDMCTRACKDENSITY_MC
3 #include "AliForwardUtil.h"
5 class TH1D;
6 class AliESDFMD;
7 
33 {
34 public:
44  AliFMDMCTrackDensity(const char* name);
62  virtual ~AliFMDMCTrackDensity() {}
63 
97  Bool_t Calculate(const AliESDFMD& esd,
98  const AliMCEvent& event,
99  const TVector3& ip,
100  AliESDFMD& output,
101  TH2D* primary);
107  void CreateOutputObjects(TList* list);
108 
109  void Print(Option_t* option="") const;
110 protected:
116  Int_t GetDetectorId() const;
127  AliTrackReference* ProcessRef(AliMCParticle* particle,
128  const AliMCParticle* mother,
129  AliTrackReference* ref);
134  void BeginTrackRefs();
140  void EndTrackRefs(Int_t nRefs);
151  Double_t StoreParticle(AliMCParticle* particle,
152  const AliMCParticle* mother,
153  AliTrackReference* ref) const;
158  mutable struct State
159  {
160  Double_t angle; // Angle
161  UShort_t oldDetector; // Last detector
162  Char_t oldRing; // Last ring
163  UShort_t oldSector; // Last sector
164  UShort_t oldStrip; // Last strip
165  UShort_t startStrip; // First strip
166  UShort_t nRefs; // Number of references
167  UShort_t nStrips; // Number of strips
168  UShort_t count; // Count of hit strips
169  AliTrackReference* longest;
170 
175  void Clear(Bool_t alsoCount=false);
183  State& operator=(const State& o);
184  } fState;
185 
186 
187  UShort_t fMaxConsequtiveStrips; // Max 'cluster' size
188  Double_t fLowCutvalue; // cut on minimal value of the dE to be part of cluster
189  TH1D* fNr; // Number of track-refs per cluster
190  TH1D* fNt; // Size of cluster in strips
191  TH1D* fNc; // Number of clusters per track
192  TH2D* fNcr; // Number of clusters per track
194 
195  ClassDef(AliFMDMCTrackDensity,6); // Calculate track-ref density
196 };
197 
198 #endif
199 // Local Variables:
200 // mode: C++
201 // End:
State & operator=(const State &o)
double Double_t
Definition: External.C:58
void Clear(Bool_t alsoCount=false)
Longest track through.
char Char_t
Definition: External.C:18
Bool_t Calculate(const AliESDFMD &esd, const AliMCEvent &event, const TVector3 &ip, AliESDFMD &output, TH2D *primary)
AliTrackReference * ProcessRef(AliMCParticle *particle, const AliMCParticle *mother, AliTrackReference *ref)
void EndTrackRefs(Int_t nRefs)
void CreateOutputObjects(TList *list)
int Int_t
Definition: External.C:63
Various utilities used in PWGLF/FORWARD.
Definition: External.C:228
Definition: External.C:212
void Print(Option_t *option="") const
void SetLowCutvalue(Double_t v)
void SetMaxConsequtiveStrips(UShort_t n)
Double_t StoreParticle(AliMCParticle *particle, const AliMCParticle *mother, AliTrackReference *ref) const
UShort_t fMaxConsequtiveStrips
State.
unsigned short UShort_t
Definition: External.C:28
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
AliFMDMCTrackDensity & operator=(const AliFMDMCTrackDensity &o)
struct AliFMDMCTrackDensity::State fState