KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVDataPatch_Camp1MassID.cpp
1//Created by KVClassFactory on Wed Jun 19 15:54:49 2019
2//Author: John Frankland,,,
3
4#include "KVDataPatch_Camp1MassID.h"
5
6#include <KVINDRAReconNuc.h>
7#include "TClass.h"
8
10
11
12
14
16 : KVDataPatch()
17{
18 // Default constructor
20 SetTitle(Class()->GetTitle());
21}
22
23
24
27
32
33
34
42
44{
45 // Correct the following errors in 1st campagn data:
46 // * ring=1 idcode=2 (phoswich): should have IsAMeasured=kFALSE
47 // * ring=2-9 idcode=3 (si-csi): should have IsAMeasured=kFALSE
48 // * give correct VEDA mass to all particles with IsAMeasured=kFALSE
49 // * etalons have many strange isotopes (with mass id upto 12~13)
50 // - set IsAMeasured=kFALSE for any unknown nucleus or with lifetime < 1ns
51
52 KVINDRAReconNuc* irn = dynamic_cast<KVINDRAReconNuc*>(n);
53 if (!irn) {
54 Fatal("ApplyToParticle", "Cannot apply this data patch to objects of class %s, only KVINDRAReconNuc objects", n->ClassName());
55 }
56 if (irn->IsAMeasured()) {
57 // check apparently isotopically-identified nuclei
58 if (irn->GetRingNumber() == 1) {
59 // phoswich
60 irn->SetAMeasured(kFALSE);
61 }
63 if (irn->GetRingNumber() < 10) {
64 // si-csi rings 2-9
65 irn->SetAMeasured(kFALSE);
66 }
67 else if (!irn->IsKnown() || (irn->GetLifeTime() < 1.e-09)) {
68 // very exotic isotope in etalons
69 irn->SetAMeasured(kFALSE);
70 }
71 }
72 }
73 // apply VEDA mass formula to all nuclei with unmeasured mass
74 if (!irn->IsAMeasured()) {
76 irn->SetZ(irn->GetZ());//recalculate A
77 }
78}
79
80
81
83
85{
86 std::cout << "Correct the following errors in 1st campagn data:" << std::endl;
87 std::cout << " * ring=1 idcode=2 (phoswich): should have IsAMeasured=kFALSE" << std::endl;
88 std::cout << " * ring=2-9 idcode=3 (si-csi): should have IsAMeasured=kFALSE" << std::endl;
89 std::cout << " * give correct VEDA mass to all particles with IsAMeasured=kFALSE" << std::endl;
90 std::cout << " * etalons have many strange isotopes (with mass id upto 12~13)" << std::endl;
91 std::cout << " - set IsAMeasured=kFALSE for any unknown nucleus or with lifetime < 1ns" << std::endl;
92
93}
94
95
96
constexpr Bool_t kFALSE
Correct mass identification in 1st campaign data.
virtual void PrintPatchInfo() const
void ApplyToParticle(KVReconstructedNucleus *)
virtual ~KVDataPatch_Camp1MassID()
Destructor.
Correction to be applied to reconstructed calibrated data.
Definition KVDataPatch.h:55
Bool_t TestIDCode(UShort_t code)
Nuclei reconstructed from data measured in the INDRA array.
UInt_t GetRingNumber(void) const
KVINDRACodes & GetCodes() const
Bool_t IsKnown(int z=-1, int a=-1) const
void SetZ(Int_t z, Char_t mt=-1)
void SetMassFormula(UChar_t mt)
Definition KVNucleus.h:345
Int_t GetZ() const
Return the number of proton / atomic number.
Double_t GetLifeTime(Int_t z=-1, Int_t a=-1) const
Nuclei reconstructed from data measured by a detector array .
virtual void SetAMeasured(Bool_t yes=kTRUE)
virtual Bool_t IsAMeasured() const
virtual void Fatal(const char *method, const char *msgfmt,...) const
RooCmdArg ClassName(const char *name)
gr SetName("gr")
const Int_t n
const char * Class
ClassImp(TPyArg)