![]() |
KaliVeda
Toolkit for HIC analysis
|
Nuclei reconstructed from data measured by a detector array .
KVReconstructedNucleus is a nucleus reconstructed from hits in the detectors of an array, either coming from experimental data or filtered simulations. In addition to the properties handled by parent class KVNucleus, a KVReconstructedNucleus provides the following informations:
Definition at line 33 of file KVReconstructedNucleus.h.
#include <KVReconstructedNucleus.h>
Public Types | |
enum | { kStatusOK , kStatusOKafterSub , kStatusOKafterShare , kStatusStopFirstStage , kStatusPileupDE , kStatusPileupGhost } |
status codes given to reconstructed particles by KVGroupReconstructor::AnalyseParticles More... | |
![]() | |
enum | { kBetaMass , kVedaMass , kEALMass , kEALResMass , kEPAXMass } |
enum | { kLDModel , kEMPFunc , kELTON } |
enum | { kDefaultFormula , kItkis1998 , kHinde1987 , kViola1985 , kViola1966 } |
enum | { kNN , knn , kpp , knp } |
![]() | |
enum | { kIsOK = BIT(14) , kIsOKSet = BIT(15) , kIsDetected = BIT(16) } |
![]() | |
typedef Double_t | Scalar |
![]() | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
Static Public Member Functions | |
static UInt_t | GetNIdentifiedInGroup (KVGroup *grp) |
static UInt_t | GetNUnidentifiedInGroup (KVGroup *grp) |
![]() | |
static Int_t | GetAFromZ (Double_t, Char_t mt) |
static Int_t | GetNFromZ (Double_t, Char_t mt) |
Calculate neutron number from the element's atomic number Z. More... | |
static Double_t | GetRealAFromZ (Double_t, Char_t mt) |
static Double_t | GetRealNFromZ (Double_t, Char_t mt) |
static Int_t | GetZFromSymbol (const Char_t *) |
static Int_t | IsMassGiven (const Char_t *) |
static Double_t | LiquidDrop_BrackGuet (UInt_t A, UInt_t Z) |
static Double_t | TKE_Hinde1987 (Double_t z1, Double_t a1, Double_t z2, Double_t a2) |
static Double_t | TKE_Itkis1998 (Double_t z, Double_t a) |
static Double_t | TKE_Kozulin2014 (Double_t zp, Double_t zt, Double_t ap, Double_t at) |
static Double_t | TKE_Viola1966 (Double_t z, Double_t a) |
from: V. E. Viola, Jr., Nuclear Data Sheets. Section A 1, 391 (1965). More... | |
static Double_t | TKE_Viola1985 (Double_t z, Double_t a) |
from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985). More... | |
static Double_t | u (void) |
![]() | |
static Double_t | C () |
![]() | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
![]() | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Private Types | |
enum | { kIsIdentified = BIT(18) , kIsCalibrated = BIT(19) , kCoherency = BIT(20) , kZMeasured = BIT(21) , kAMeasured = BIT(22) } |
Private Member Functions | |
void | RebuildReconTraj () |
Private Attributes | |
Int_t | fAnalStatus |
status of particle after analysis of reconstructed event More... | |
KVHashList | fDetList |
non-persistent list of pointers to detectors More... | |
KVString | fDetNames |
list of names of detectors through which particle passed More... | |
TClonesArray | fIDResults |
results of every identification attempt made for this nucleus, in order of the ID telescopes used More... | |
KVIDTelescope * | fIDTelescope |
non-persistent pointer to identification telescope More... | |
KVString | fIDTelName |
name of identification telescope which identified this particle (if any) More... | |
Int_t | fNSegDet |
number of segmented/independent detectors hit by particle More... | |
Float_t | fRealA |
A returned by identification routine. More... | |
Float_t | fRealZ |
Z returned by identification routine. More... | |
const KVReconNucTrajectory * | fReconTraj |
trajectory used to reconstruct particle More... | |
Double_t | fTargetEnergyLoss |
calculated energy lost in target More... | |
Additional Inherited Members | |
![]() | |
kNUM_COORDINATES | |
kSIZE | |
kT | |
kX | |
kY | |
kZ | |
![]() | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
![]() | |
static Double_t | e2 = KVNucleus::hbar / 137.035999074 |
e^2/(4.pi.epsilon_0) in MeV.fm More... | |
static Double_t | hbar = TMath::Hbarcgs() * TMath::Ccgs() / TMath::Qe() |
hbar*c in MeV.fm More... | |
static Double_t | kAMU = 9.31494043e02 |
atomic mass unit in MeV More... | |
static Double_t | kMe = 0.510998 |
electron mass in MeV/c2 More... | |
![]() | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
![]() | |
kOnlyPrepStep | |
anonymous enum |
status codes given to reconstructed particles by KVGroupReconstructor::AnalyseParticles
Definition at line 63 of file KVReconstructedNucleus.h.
|
private |
Enumerator | |
---|---|
kIsIdentified | |
kIsCalibrated | |
kCoherency | |
kZMeasured | |
kAMeasured |
Definition at line 42 of file KVReconstructedNucleus.h.
KVReconstructedNucleus::KVReconstructedNucleus | ( | ) |
default ctor.
Definition at line 38 of file KVReconstructedNucleus.cpp.
KVReconstructedNucleus::KVReconstructedNucleus | ( | const KVReconstructedNucleus & | obj | ) |
copy ctor
Definition at line 49 of file KVReconstructedNucleus.cpp.
|
inlinevirtual |
Definition at line 78 of file KVReconstructedNucleus.h.
Reset nucleus. Calls KVNucleus::Clear. if opt!="N": Calls KVGroup::Reset for the group where it was reconstructed.
Reimplemented from TObject.
Reimplemented in KVINDRAReconNuc, and KVFAZIAReconNuc.
Definition at line 319 of file KVReconstructedNucleus.cpp.
Copy this to obj
Reimplemented from TObject.
Reimplemented in KVINDRAReconNuc, and KVFAZIAReconNuc.
Definition at line 258 of file KVReconstructedNucleus.cpp.
void KVReconstructedNucleus::CopyAndMoveReferences | ( | const KVReconstructedNucleus * | other | ) |
Copy all characteristics of 'other' and also change all references to 'other' to references to 'this' (i.e. in detectors hit by particle). 'other' will not be fully valid after this operation (shouldn't be used further)
Definition at line 296 of file KVReconstructedNucleus.cpp.
|
virtual |
Calculate angles theta and phi for nucleus based on the detectors on its reconstruction trajectory. The momentum is set using these angles, its mass and its kinetic energy.
The detector with the smallest solid angle along the trajectory is the one which defines the angles for the reconstructed particle.
The (optional) option string can be "random" or "mean":
If "random" (default) the angles are drawn at random between the over the surface of the detector.
If "mean" the (theta,phi) position of the centre of the detector is used to fix the nucleus' direction.
Definition at line 376 of file KVReconstructedNucleus.cpp.
TString KVReconstructedNucleus::GetArrayName | ( | ) | const |
Returns name of array particle was detected in (if known)
Definition at line 196 of file KVReconstructedNucleus.cpp.
|
inline |
Return detector with given label on particle's reconstruction trajectory
Definition at line 92 of file KVReconstructedNucleus.h.
|
inline |
Returns the detectors hit by the particle.
If i=0, this is the detector in which the particle stopped.
For i>0 one obtains the names of the detectors through which the particle must have passed before stopping, in inverse order (i.e. i=0 is the last detector, as i increases we get the detectors closer to the target).
Definition at line 97 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 110 of file KVReconstructedNucleus.h.
|
inlinevirtual |
Return value of parameter "ECODE" If no value set, returns -1
Reimplemented in KVINDRAReconNuc.
Definition at line 195 of file KVReconstructedNucleus.h.
|
inline |
Return pointer to group in which the particle is detected
Definition at line 158 of file KVReconstructedNucleus.h.
|
inlinevirtual |
Return value of parameter "IDCODE" If no value set, returns -1
Reimplemented in KVINDRAReconNuc.
Definition at line 184 of file KVReconstructedNucleus.h.
|
inline |
Return pointer to result of attempted identification of given type.
This type is the type of the KVIDTelescope which was used (i.e. the string returned by KVIDTelescope::GetType()).
Returns nullptr if no identification of given type found, but even if a valid pointer is returned the identification may still not have been attempted (see comments in GetIdentificationResult(Int_t)).
Definition at line 343 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 380 of file KVReconstructedNucleus.h.
|
inline |
Returns the result of the i-th (i>0) identification attempted for this nucleus:
N.B. This method will return a valid KVIdentificationResult object for any value of i (objects are created as necessary in the TClonesArray fIDresults).
To test whether an identification was attempted, do
rather than
Definition at line 305 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 376 of file KVReconstructedNucleus.h.
|
inline |
Return pointer to result of identification attempted with a KVIdentificationTelescope of the given type.
This type is the type of the KVIDTelescope which was used (i.e. the string returned by KVIDTelescope::GetType()).
Returns nullptr if no identification of given type found, but even if a valid pointer is returned the identification may still not have been attemted (see comments in GetIdentificationResult(Int_t)).
Definition at line 363 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 384 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 174 of file KVReconstructedNucleus.h.
|
inline |
Get list of all ID telescopes on the particle's reconstruction trajectory i.e. all those made from the stopping detector and all detectors aligned in front of it. The first ID telescope in the list is that in which the particle stopped.
Definition at line 166 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 114 of file KVReconstructedNucleus.h.
number of identified particles reconstructed in group
this method is kept only for backwards compatibility. it is used by AnalyseParticlesInGroup which is called by KVReconstructedEvent::Streamer when reading old data
Definition at line 389 of file KVReconstructedNucleus.h.
|
inline |
Returns the number of KVIdentificationResult objects in the TClonesArray fIDresults.
Do not assume that all of these correspond to attempted identifications (see comments in GetIdentificationResult(Int_t))
Definition at line 334 of file KVReconstructedNucleus.h.
|
inline |
Number of detectors on reconstruction trajectory
Definition at line 125 of file KVReconstructedNucleus.h.
number of unidentified particles reconstructed in group
this method is kept only for backwards compatibility. it is used by AnalyseParticlesInGroup() which is called by KVReconstructedEvent::Streamer() when reading old data
Definition at line 405 of file KVReconstructedNucleus.h.
|
inlinevirtual |
Return particle identification PID for this particle. If particle Z & A have been identified, this is "real Z" + 0.1*("real A"-2*"real Z") If only Z identification has been performed, it is the "real Z"
Definition at line 261 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 254 of file KVReconstructedNucleus.h.
|
inline |
debug std::cout << "KVReconstructedNucleus::GetRealZ() returning fRealZ" << std::endl;
debug std::cout << "KVReconstructedNucleus::GetRealZ() returning GetZ() because fRealZ=" << fRealZ << std::endl;
Definition at line 241 of file KVReconstructedNucleus.h.
|
inline |
Return pointer to path through detectors of array used to reconstruct this particle.
Definition at line 415 of file KVReconstructedNucleus.h.
Returns status of reconstructed particle as decided by analysis of the group (KVGroup) in which the particle is reconstructed (see KVGroup::AnalyseParticles). This status is used to decide whether identification of the particle can be attempted straight away or if we need to wait until other particles in the same group have been identified and calibrated (case of >1 particle crossing shared detector in a group).
kStatusOK (0) : identification is, in principle at least, possible straight away kStatusOKafterSub (1) : identification is, in principle, possible after identification and subtraction of energy losses of other particles in the same group which have Status=0 kStatusOKafterShare (2) : the energy loss in the shared detector of the group must be shared (arbitrarily) between this and the other particle(s) with Status=2 kStatusStopFirstStage (3) : the particle has stopped in the first member of an identification telescope; a minimum Z could be estimated from the measured energy loss. (see KVDetector::FindZmin) kStatusPileupDE, (4) : only for filtered simulations: undetectable pile-up in DE detector kStatusPileupGhost (5) : only for filtered simulations: undetectable particle
Definition at line 131 of file KVReconstructedNucleus.h.
|
inline |
void SetDetector(int i, KVDetector *);
Return pointer to the detector in which this particle stopped
Definition at line 120 of file KVReconstructedNucleus.h.
|
inlinevirtual |
Return calculated energy loss in target of reconstructed nucleus (in MeV)
Definition at line 275 of file KVReconstructedNucleus.h.
Returns kTRUE if particle was detected in array with given name.
Definition at line 185 of file KVReconstructedNucleus.cpp.
default initialisation
Definition at line 14 of file KVReconstructedNucleus.cpp.
|
inlinevirtual |
Returns kTRUE for reconstructed nuclei whose mass number, A, was measured, not calculated
Definition at line 299 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 228 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 224 of file KVReconstructedNucleus.h.
|
inlinevirtual |
Returns kTRUE for reconstructed nuclei whose atomic number, Z, was measured, not calculated
Definition at line 293 of file KVReconstructedNucleus.h.
Reimplemented from TObject.
Definition at line 528 of file KVReconstructedNucleus.cpp.
void KVReconstructedNucleus::ModifyReconstructionTrajectory | ( | const KVReconNucTrajectory * | t | ) |
this method modifies the reconstructed trajectory probably called during the identification coherency check
Definition at line 338 of file KVReconstructedNucleus.cpp.
Reimplemented from TLorentzVector.
Reimplemented in KVINDRAReconNuc, and KVFAZIAReconNuc.
Definition at line 208 of file KVReconstructedNucleus.cpp.
void KVReconstructedNucleus::PrintStatusString | ( | ) | const |
Definition at line 135 of file KVReconstructedNucleus.cpp.
|
private |
Called by Streamer when reading in data The fDetNames string is used to associate the particle with its reconstruction trajectory
Definition at line 424 of file KVReconstructedNucleus.cpp.
Change the particle's reconstruction trajectory to a different one starting from the same stopping detector (and therefore in the same group).
trajectory paths are written as "DET_1/DET_2/..."
Definition at line 461 of file KVReconstructedNucleus.cpp.
Call with yes=kTRUE for reconstructed nuclei whose mass number, A, was measured, not calculated
Definition at line 287 of file KVReconstructedNucleus.h.
Set value of parameter "ECODE"
Reimplemented in KVINDRAReconNuc.
Definition at line 190 of file KVReconstructedNucleus.h.
Set value of parameter "IDCODE"
Reimplemented in KVINDRAReconNuc.
Definition at line 179 of file KVReconstructedNucleus.h.
void KVReconstructedNucleus::SetIdentification | ( | KVIdentificationResult * | idr, |
KVIDTelescope * | idt | ||
) |
Set identification of nucleus from informations in identification result object The mass (A) information in KVIdentificationResult is only used if the mass was measured as part of the identification. Otherwise the nucleus' mass formula will be used to calculate A from the measured Z.
The identifying telescope is set to idt.
Definition at line 501 of file KVReconstructedNucleus.cpp.
|
inline |
Definition at line 83 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 209 of file KVReconstructedNucleus.h.
|
inline |
When the "identification" state of the particle is set, we add 1 identified particle and subtract 1 unidentified particle from each detector in its list
Definition at line 202 of file KVReconstructedNucleus.h.
|
inline |
Definition at line 220 of file KVReconstructedNucleus.h.
|
inline |
When the "identification" state of the particle is reset, i.e. it becomes an "unidentified particle", we add 1 unidentified particle and subtract 1 identified particle from each detector in its list
Definition at line 213 of file KVReconstructedNucleus.h.
Definition at line 237 of file KVReconstructedNucleus.h.
Definition at line 233 of file KVReconstructedNucleus.h.
void KVReconstructedNucleus::SetReconstructionTrajectory | ( | const KVReconNucTrajectory * | t | ) |
Method called in initial reconstruction of particle.
Definition at line 351 of file KVReconstructedNucleus.cpp.
Definition at line 152 of file KVReconstructedNucleus.h.
Set energy loss in target (in MeV) of reconstructed nucleus
Definition at line 270 of file KVReconstructedNucleus.h.
Call with yes=kTRUE for reconstructed nuclei whose atomic number, Z, was measured, not calculated
Definition at line 281 of file KVReconstructedNucleus.h.
|
private |
status of particle after analysis of reconstructed event
Definition at line 51 of file KVReconstructedNucleus.h.
|
private |
non-persistent list of pointers to detectors
Definition at line 38 of file KVReconstructedNucleus.h.
|
private |
list of names of detectors through which particle passed
Definition at line 37 of file KVReconstructedNucleus.h.
|
private |
results of every identification attempt made for this nucleus, in order of the ID telescopes used
Definition at line 56 of file KVReconstructedNucleus.h.
|
private |
non-persistent pointer to identification telescope
Definition at line 40 of file KVReconstructedNucleus.h.
|
private |
name of identification telescope which identified this particle (if any)
Definition at line 39 of file KVReconstructedNucleus.h.
|
private |
number of segmented/independent detectors hit by particle
Definition at line 50 of file KVReconstructedNucleus.h.
|
private |
A returned by identification routine.
Definition at line 53 of file KVReconstructedNucleus.h.
|
private |
Z returned by identification routine.
Definition at line 52 of file KVReconstructedNucleus.h.
|
private |
trajectory used to reconstruct particle
Definition at line 36 of file KVReconstructedNucleus.h.
|
private |
calculated energy lost in target
Definition at line 54 of file KVReconstructedNucleus.h.