KaliVeda
Toolkit for HIC analysis
KVDataPatch_INDRA_camp4_ring10_He_isotopic_identification.cpp
1 #include "KVDataPatch_INDRA_camp4_ring10_He_isotopic_identification.h"
2 #include "KVINDRA.h"
3 
5 
6 
7 
12 {
13  // Default constructor
14  SetName(ClassName());
15  SetTitle(Class()->GetTitle());
16 }
17 
18 
19 
23 
25 {
26  // For Z=2 particles identified in CSI_R_L on ring 10, we check the mass attribution
27  // using new identification grids drawn by Seon Ho Nam
28 
29  if (rnuc->GetStoppingDetector()->GetIndex() / 100 == 10 && rnuc->GetZ() == 2 && rnuc->GetIDCode() == KVINDRA::ID_CSI_PSA) {
30  auto old_A = rnuc->GetA();
31  auto old_isAmeasured = rnuc->IsAMeasured();
32  auto idt = rnuc->GetIdentifyingTelescope();
33  auto idr = rnuc->GetIdentificationResult(idt);
34  if (idt->Identify(idr)) {
35  rnuc->SetIdentification(idr, idt);
36  rnuc->SetParameter("HE_ISOTOPE_CORRECTION", true);
37  rnuc->SetParameter("HE_ISOTOPE_CORRECTION.OLD_A", old_A);
38  rnuc->SetParameter("HE_ISOTOPE_CORRECTION.OLD_ISAMEASURED", old_isAmeasured);
39  }
40  }
41 }
42 
43 
45 
47 {
48  std::cout << "Correct bad attribution of isotopic mass of He nuclei in ring 10" << std::endl;
49  std::cout << std::endl;
50  std::cout << "In original DST generation, many low energy 4He nuclei were" << std::endl;
51  std::cout << "incorrectly identified as 3He. Using new identification grids" << std::endl;
52  std::cout << "for Z=2 nuclei we re-assign the masses for thes particles." << std::endl;
53  std::cout << "We give single KVNucleus::kVedaMass A to all" << std::endl;
54 }
55 
56 
virtual Int_t GetIndex() const
Definition: KVDetector.h:812
@ ID_CSI_PSA
particle identified in CsI detector by pulse shape analysis
Definition: KVINDRA.h:130
Int_t GetA() const
Definition: KVNucleus.cpp:796
Int_t GetZ() const
Return the number of proton / atomic number.
Definition: KVNucleus.cpp:767
void SetParameter(const Char_t *name, ValType value) const
Definition: KVParticle.h:822
Nuclei reconstructed from data measured by a detector array .
KVIdentificationResult * GetIdentificationResult(Int_t i)
void SetIdentification(KVIdentificationResult *, KVIDTelescope *)
virtual Int_t GetIDCode() const
KVDetector * GetStoppingDetector() const
void SetDetector(int i, KVDetector *);
KVIDTelescope * GetIdentifyingTelescope() const
virtual Bool_t IsAMeasured() const
RooCmdArg ClassName(const char *name)
gr SetName("gr")
const char * Class
ClassImp(TPyArg)