ARTEMIS-CRIB
 
Loading...
Searching...
No Matches
art::crib::TReconstProcessor Class Reference

#include <TReconstProcessor.h>

Inheritance diagram for art::crib::TReconstProcessor:
[legend]
Collaboration diagram for art::crib::TReconstProcessor:
[legend]

Public Member Functions

 TReconstProcessor ()
 Default constructor.
 
 ~TReconstProcessor () override
 Default destructor.
 
void Init (TEventCollection *col) override
 Initialization.
 
void Process () override
 Main process.
 

Protected Attributes

TString fDetectorParameterName
 detector parameter name (art::TDetectorParameter)
 
TClonesArray ** fDetectorPrm
 detector parameter object (TClonesArray(art::TDetectorParameter))
 
Bool_t fDoCenterPos
 Flag of custom processor.
 
Double_t fExcitedEnergy
 Excited Energy.
 
TClonesArray ** fInData
 telescope input object (TClonesArray(art::TTelescopeData))
 
TString fInputColName
 input telescope collection name (art::TTelescopeData)
 
TString fInputTrackColName
 input tracking collection name (art::TTrack)
 
TClonesArray ** fInTrackData
 tracking input object (TClonesArray(art::TTrack))
 
TClonesArray * fOutData
 output object (TClonesArray(art::TReactionInfo))
 
TString fOutputColName
 output collection name (art::TReactionInfo)
 
IntVec_t fParticleAArray
 reaction particles Mass num array
 
IntVec_t fParticleZArray
 reaction particles Atomic num array
 
TString fTargetParameterName
 target parameter name (art::TTargetParameter)
 
TClonesArray ** fTargetPrm
 target parameter obejct (TClonesArray(art::TTargetParameter))
 
Double_t M1
 
Double_t M2
 
Double_t M3
 
Double_t M3_default
 
Double_t M4
 

Private Member Functions

 TReconstProcessor (const TReconstProcessor &rhs)=delete
 
Double_t GetCMAngle (Double_t ELab, Double_t Ecm, Double_t ALab)
 Get Lab Angle after reconstruction.
 
Double_t GetEcm_classic_kinematics (Double_t energy, Double_t theta)
 Get Ecm from detected particle information (classic kinematics)
 
Double_t GetEcm_kinematics (Double_t energy, Double_t theta, Double_t low_e, Double_t high_e)
 Get Ecm from detected particle information (relativity kinematics)
 
Double_t GetEcmFromDetectParticle (Double_t z, const TTrack *track, const TTelescopeData *data)
 Get Ecm from detected particle information.
 
std::pair< Double_t, Double_t > GetELabALabPair (Double_t z, const TTrack *track, const TTelescopeData *data)
 Get LAB energy and angle from detected particle information.
 
TReconstProcessoroperator= (const TReconstProcessor &rhs)=delete
 

Detailed Description

Definition at line 23 of file TReconstProcessor.h.

Constructor & Destructor Documentation

◆ TReconstProcessor() [1/2]

TReconstProcessor::TReconstProcessor ( )

Default constructor.

From telescope object and beam (tracking) object, it calculate the Ecm assuming reaction position is z = 0 for solid target.

Need variables in the steering file:

  • InputCollection: telescope object, inherit from art::TTelescopeData
  • InputTrackCollection: tracking object, inherit from art::TTrack
  • OutputCollection: name of output branch, inherit from art::TReactionInfo
  • ParticleZArray: [Z1, Z2, Z3, Z4]
  • ParticleAArray: [A1, A2, A3, A4]
    • assuming two body reaction (NEED size 4 aray)
    • [beam, target, fragment, residual]
    • example: A(a,b)B reaction,
    • the order is [a, A, b, B]
    • this is "inverse kinematics", so we assume the detected particle is "B"

Option:

  • ExcitedEnergy: if you want to treat excited state transition, input the excited energy (MeV) of Z3 particles
  • UseCenterPosition: use center position at the detector.
    • if DSSSD is not working, this flag is used.

Definition at line 47 of file TReconstProcessor.cc.

◆ ~TReconstProcessor()

TReconstProcessor::~TReconstProcessor ( )
override

Default destructor.

free the memory

Definition at line 72 of file TReconstProcessor.cc.

◆ TReconstProcessor() [2/2]

art::crib::TReconstProcessor::TReconstProcessor ( const TReconstProcessor & rhs)
privatedelete

Member Function Documentation

◆ GetCMAngle()

Double_t TReconstProcessor::GetCMAngle ( Double_t ELab,
Double_t Ecm,
Double_t ALab )
private

Get Lab Angle after reconstruction.

Assuming Ecm and detected energy, calculate CM angle.

Parameters
ELab(MeV)
Ecm(MeV)
ALab(radian)
Returns
angle (radian)

This is also used classic kinematics

Definition at line 325 of file TReconstProcessor.cc.

◆ GetEcm_classic_kinematics()

Double_t TReconstProcessor::GetEcm_classic_kinematics ( Double_t energy,
Double_t theta )
private

Get Ecm from detected particle information (classic kinematics)

From detected energy and angle, calculate kinematics using classic.

Parameters
energy(MeV)
theta(radian)
Returns
Ecm (MeV)

This is used in GetEcmFromDetectPartice method. Please refer from okawa's master thesis for an detail.

Definition at line 283 of file TReconstProcessor.cc.

◆ GetEcm_kinematics()

Double_t TReconstProcessor::GetEcm_kinematics ( Double_t energy,
Double_t theta,
Double_t low_e,
Double_t high_e )
private

Get Ecm from detected particle information (relativity kinematics)

From detected energy and angle, calculate kinematics using relativity.

Parameters
energy(MeV)
theta(radian)
low_e(minimum energy)
high_e(maxmum energy)
Returns
Ecm (MeV)

This is used in GetEcmFromDetectPartice method. currently not avalable.

Definition at line 274 of file TReconstProcessor.cc.

◆ GetEcmFromDetectParticle()

Double_t TReconstProcessor::GetEcmFromDetectParticle ( Double_t z,
const TTrack * track,
const TTelescopeData * data )
private

Get Ecm from detected particle information.

From assuming Z position (reaction position) = 0, calculate the Ecm from detected particle information.

Parameters
z(mm)
track(art::TTrack)
data(art::TTelescopeData)
Returns
Ecm (MeV)

Currently it uses classsic kinematics.

Definition at line 211 of file TReconstProcessor.cc.

◆ GetELabALabPair()

std::pair< Double_t, Double_t > TReconstProcessor::GetELabALabPair ( Double_t z,
const TTrack * track,
const TTelescopeData * data )
private

Get LAB energy and angle from detected particle information.

From assuming Z position (reaction position), calculate the ELab and ALab of Z4 from detected particle information.

Parameters
z(mm)
track(art::TTrack)
data(art::TTelescopeData)
Returns
Ecm (MeV)

It uses TSrim library.

Definition at line 228 of file TReconstProcessor.cc.

◆ Init()

void TReconstProcessor::Init ( TEventCollection * col)
override

Initialization.

in this process, it prepares some variables

Definition at line 80 of file TReconstProcessor.cc.

◆ operator=()

TReconstProcessor & art::crib::TReconstProcessor::operator= ( const TReconstProcessor & rhs)
privatedelete

◆ Process()

void TReconstProcessor::Process ( )
override

Main process.

Definition at line 151 of file TReconstProcessor.cc.

Member Data Documentation

◆ fDetectorParameterName

TString art::crib::TReconstProcessor::fDetectorParameterName
protected

detector parameter name (art::TDetectorParameter)

Definition at line 43 of file TReconstProcessor.h.

◆ fDetectorPrm

TClonesArray** art::crib::TReconstProcessor::fDetectorPrm
protected

detector parameter object (TClonesArray(art::TDetectorParameter))

Definition at line 55 of file TReconstProcessor.h.

◆ fDoCenterPos

Bool_t art::crib::TReconstProcessor::fDoCenterPos
protected

Flag of custom processor.

Definition at line 66 of file TReconstProcessor.h.

◆ fExcitedEnergy

Double_t art::crib::TReconstProcessor::fExcitedEnergy
protected

Excited Energy.

Definition at line 64 of file TReconstProcessor.h.

◆ fInData

TClonesArray** art::crib::TReconstProcessor::fInData
protected

telescope input object (TClonesArray(art::TTelescopeData))

Definition at line 48 of file TReconstProcessor.h.

◆ fInputColName

TString art::crib::TReconstProcessor::fInputColName
protected

input telescope collection name (art::TTelescopeData)

Definition at line 37 of file TReconstProcessor.h.

◆ fInputTrackColName

TString art::crib::TReconstProcessor::fInputTrackColName
protected

input tracking collection name (art::TTrack)

Definition at line 39 of file TReconstProcessor.h.

◆ fInTrackData

TClonesArray** art::crib::TReconstProcessor::fInTrackData
protected

tracking input object (TClonesArray(art::TTrack))

Definition at line 50 of file TReconstProcessor.h.

◆ fOutData

TClonesArray* art::crib::TReconstProcessor::fOutData
protected

output object (TClonesArray(art::TReactionInfo))

Definition at line 52 of file TReconstProcessor.h.

◆ fOutputColName

TString art::crib::TReconstProcessor::fOutputColName
protected

output collection name (art::TReactionInfo)

Definition at line 41 of file TReconstProcessor.h.

◆ fParticleAArray

IntVec_t art::crib::TReconstProcessor::fParticleAArray
protected

reaction particles Mass num array

Definition at line 62 of file TReconstProcessor.h.

◆ fParticleZArray

IntVec_t art::crib::TReconstProcessor::fParticleZArray
protected

reaction particles Atomic num array

Definition at line 60 of file TReconstProcessor.h.

◆ fTargetParameterName

TString art::crib::TReconstProcessor::fTargetParameterName
protected

target parameter name (art::TTargetParameter)

Definition at line 45 of file TReconstProcessor.h.

◆ fTargetPrm

TClonesArray** art::crib::TReconstProcessor::fTargetPrm
protected

target parameter obejct (TClonesArray(art::TTargetParameter))

Definition at line 57 of file TReconstProcessor.h.

◆ M1

Double_t art::crib::TReconstProcessor::M1
protected

Definition at line 68 of file TReconstProcessor.h.

◆ M2

Double_t art::crib::TReconstProcessor::M2
protected

Definition at line 69 of file TReconstProcessor.h.

◆ M3

Double_t art::crib::TReconstProcessor::M3
protected

Definition at line 71 of file TReconstProcessor.h.

◆ M3_default

Double_t art::crib::TReconstProcessor::M3_default
protected

Definition at line 70 of file TReconstProcessor.h.

◆ M4

Double_t art::crib::TReconstProcessor::M4
protected

Definition at line 72 of file TReconstProcessor.h.


The documentation for this class was generated from the following files:
return to the guide