Belle II Software  release-08-01-10
ARICHReconstruction Class Reference

Internal ARICH track reconstruction. More...

#include <ARICHReconstruction.h>

Collaboration diagram for ARICHReconstruction:

Public Member Functions

 ARICHReconstruction (int storePhotons=0)
 Constructor.
 
 ~ARICHReconstruction ()
 Destructor.
 
void initialize ()
 read geomerty parameters from xml and initialize class memebers
 
int smearTrack (ARICHTrack &arichTrack)
 Smeares track parameters ("simulate" the uncertainties of tracking).
 
void transformTrackToLocal (ARICHTrack &arichTrack, bool align)
 Transforms track parameters from global Belle2 to ARICH local frame.
 
int likelihood2 (ARICHTrack &arichTrack, const StoreArray< ARICHHit > &arichHits, ARICHLikelihood &arichLikelihood)
 Computes the value of identity likelihood function for different particle hypotheses.
 
void setTrackPositionResolution (double pRes)
 Sets track position resolution (from tracking)
 
void setTrackAngleResolution (double aRes)
 Sets track direction resolution (from tracking)
 
void useMirrorAlignment (bool align)
 use mirror alignment or not
 
void correctEmissionPoint (int tileID, double r)
 correct mean emission point z position
 

Private Member Functions

int InsideDetector (TVector3 a, int copyno)
 Returns 1 if vector "a" lies on "copyno"-th detector active surface of detector and 0 else.
 
TVector3 HitVirtualPosition (const TVector3 &hitpos, int mirrorID)
 Returns the hit virtual position, assuming that it was reflected from mirror. More...
 
TVector3 FastTracking (TVector3 dirf, TVector3 r, double *refind, double *z, int n, int opt)
 Calculates the intersection of the Cherenkov photon emitted from point "r" in "dirf" direction with the detector plane. More...
 
TVector3 FastTrackingSimple (TVector3 dirf, TVector3 r, double *refind, double *z, int n)
 Calculates the intersection of the Cherenkov photon emitted from point "r" in "dirf" direction with the detector plane. (For the case of simple (beamtest) geometry.) More...
 
int CherenkovPhoton (TVector3 r, TVector3 rh, TVector3 &rf, TVector3 &dirf, double *refind, double *z, int n, int mirrorID=0)
 Calculates the direction of photon emission. More...
 
bool HitsMirror (const TVector3 &pos, const TVector3 &dir, int mirrorID)
 returns true if photon at position pos with direction dir hits mirror plate with ID mirrorID
 
TVector3 getTrackMeanEmissionPosition (const ARICHTrack &track, int iAero)
 Returns mean emission position of Cherenkov photons from i-th aerogel layer.
 
TVector3 getTrackPositionAtZ (const ARICHTrack &track, double zout)
 Returns track direction at point with z coordinate "zout" (assumes straight track).
 
TVector3 getMirrorPoint (int mirrorID)
 Returns point on the mirror plate with id mirrorID.
 
TVector3 getMirrorNorm (int mirrorID)
 Returns normal vector of the mirror plate with id mirrorID.
 

Private Attributes

double p_mass [c_noOfHypotheses]
 particle masses
 
DBObjPtr< ARICHGeometryConfigm_arichgp
 geometry configuration parameters from the DB
 
DBObjPtr< ARICHReconstructionParm_recPars
 reconstruction parameters from the DB
 
DBObjPtr< ARICHChannelMaskm_chnMask
 map of masked channels from the DB
 
DBObjPtr< ARICHChannelMappingm_chnMap
 map x,y channels to asic channels from the DB
 
DBObjPtr< ARICHGlobalAlignmentm_alignp
 global alignment parameters from the DB
 
DBObjPtr< ARICHMirrorAlignmentm_mirrAlign
 global alignment parameters from the DB
 
OptionalDBObjPtr< ARICHAeroTilesAlignmentm_tileAlign
 alignment of aerogel tiles from DB
 
std::vector< TVector3 > m_mirrorPoints
 vector of points on all mirror plates
 
std::vector< TVector3 > m_mirrorNorms
 vector of nomal vectors of all mirror plates
 
double m_trackPosRes
 track position resolution (from tracking)
 
double m_trackAngRes
 track direction resolution (from tracking)
 
bool m_alignMirrors
 if set to true mirror alignment constants from DB are used
 
unsigned int m_nAerogelLayers
 number of aerogel layers
 
double m_refractiveInd [c_noOfAerogels]
 refractive indices of aerogel layers
 
double m_zaero [c_noOfAerogels]
 z-positions of aerogel layers
 
double m_thickness [c_noOfAerogels]
 thicknesses of areogel layers
 
double m_transmissionLen [c_noOfAerogels]
 transmission lengths of aerogel layers
 
double m_n0 [c_noOfAerogels]
 number of emmited photons per unit length
 
TVector3 m_anorm [c_noOfAerogels]
 normal vector of the aerogle plane
 
int m_storePhot
 set to 1 to store individual reconstructed photon information
 
double m_tilePars [124][2] = {{0}}
 

Static Private Attributes

static const int c_noOfHypotheses = Const::ChargedStable::c_SetSize
 Number of hypotheses to loop over.
 
static const int c_noOfAerogels = 5
 Maximal number of aerogel layers to loop over.
 

Detailed Description

Internal ARICH track reconstruction.

The class contains objects and methods needed for internal ARICH track reconstruction. The main method is likelihood2, which returns the value of the likelihood function and number of expected photons for every input track and all hypotheses. For that purpose, the Cherenkov photon is generated for every track that hits the aerogel, by calling the CherenkovPhoton method. The photon is propagated (FastTracking) to the active area of the detection inside a HAPD and the intersection point with the active area is determined. Whether the photon was detected or not is determined by numerical simulation of the module's geometric acceptance.

Definition at line 48 of file ARICHReconstruction.h.

Member Function Documentation

◆ FastTrackingSimple()

TVector3 FastTrackingSimple ( TVector3  dirf,
TVector3  r,
double *  refind,
double *  z,
int  n 
)
private

Calculates the intersection of the Cherenkov photon emitted from point "r" in "dirf" direction with the detector plane. (For the case of simple (beamtest) geometry.)

Parameters
rvector of photon emission point
dirfdirection of photon emission
nnumber of aerogel layers through which photon passes
refindarray of layers refractive indices
zarray of z coordinates of borders between layers

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