2 // Definition for a single candidate daughter.
3 // They can be chosen among the following possibilities:
5 // -- particle species, chosen in the enum AliRsnDaughter::ESpecies;
6 // this option does two things:
7 // -- when possible (needs MC) and required, allow to check is a daughter
8 // is of the defined species (e.g.: for selecting true daughters of a resonance)
9 // -- defines the mass to be assigned to this object, for any purpose
10 // (e.g.: to compute its 4-momentum to be used for a resonance mass)
12 // -- track charge, which can be '+', '-', '0',
13 // -- any other char leaves this undefined (use only in daughter monitor loops)
14 // -- when doing resonance analysis, or when RSN Input handler needs to be used,
15 // this must always be defined
17 // -- object type (track/V0/cascade)
18 // -- could be needed to select tracks when particle species is not specified
19 // -- works only in single daughter loops
21 // authors: A. Pulvirenti (alberto.pulvirenti@ct.infn.it)
22 // M. Vala (martin.vala@cern.ch)
26 #include "AliRsnDaughterDef.h"
28 ClassImp(AliRsnDaughterDef)
31 //_____________________________________________________________________________
32 AliRsnDaughterDef::AliRsnDaughterDef() :
33 fPID(AliRsnDaughter::kUnknown),
36 fRefType(AliRsnDaughter::kNoType)
39 // This version of constructor leaves everything undefined:
40 // this will cause all daughters to be accepted.
44 //_____________________________________________________________________________
45 AliRsnDaughterDef::AliRsnDaughterDef(AliRsnDaughter::ESpecies type, Char_t sign) :
47 fMass(AliRsnDaughter::SpeciesMass(type)),
49 fRefType(AliRsnDaughter::RefType(type))
52 // This version of constructor initializes the PID type (and then the mass)
53 // and the charge (optional, leave 2nd argument to default to include both).
57 //_____________________________________________________________________________
58 AliRsnDaughterDef::AliRsnDaughterDef(EPARTYPE type, Char_t sign) :
59 fPID(AliRsnDaughter::FromAliPID(type)),
60 fMass(AliRsnDaughter::SpeciesMass(AliRsnDaughter::FromAliPID(type))),
62 fRefType(AliRsnDaughter::RefType(AliRsnDaughter::FromAliPID(type)))
65 // This version of constructor initializes the PID type (and then the mass)
66 // and the charge (optional, leave 2nd argument to default to include both).
70 //_____________________________________________________________________________
71 AliRsnDaughterDef::AliRsnDaughterDef(AliRsnDaughter::ERefType refType, Char_t sign) :
72 fPID(AliRsnDaughter::kUnknown),
78 // This version of constructor initializes the object type
79 // and the charge (optional, leave 2nd argument to default to include both),
80 // and leaves the PID type undefined.
81 // This is useful when one is interested in all tracks/V0s/cascades without
82 // requiring them to be identified as a certain species, but if one then requires
83 // an object linked to this definition to compute a rapidity or a transverse mass,
84 // this will not work.
88 //_____________________________________________________________________________
89 AliRsnDaughterDef::AliRsnDaughterDef(const AliRsnDaughterDef ©) :
93 fCharge(copy.fCharge),
94 fRefType(copy.fRefType)
97 // Copy constructor has standard behavior.
101 //_____________________________________________________________________________
102 AliRsnDaughterDef &AliRsnDaughterDef::operator=(const AliRsnDaughterDef ©)
105 // Assignment operator has standard behavior.
111 fCharge = copy.fCharge;
113 fRefType = copy.fRefType;