Belle II Software development
|
Internal ARICH track reconstruction. More...
#include <ARICHReconstruction.h>
Public Member Functions | |
ARICHReconstruction (int storePhotons=0) | |
Constructor. | |
~ARICHReconstruction () | |
Destructor. | |
void | initialize () |
Read geometry parameters from xml and initialize class members. | |
int | smearTrack (ARICHTrack &arichTrack) |
Smears 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 (ROOT::Math::XYZVector a, int copyno) |
Returns 1 if vector "a" lies on "copyno"-th detector active surface of detector and 0 else. | |
ROOT::Math::XYZVector | HitVirtualPosition (const ROOT::Math::XYZVector &hitpos, int mirrorID) |
Returns the hit virtual position, assuming that it was reflected from mirror. | |
ROOT::Math::XYZVector | FastTracking (ROOT::Math::XYZVector dirf, ROOT::Math::XYZVector 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. | |
ROOT::Math::XYZVector | FastTrackingSimple (ROOT::Math::XYZVector dirf, ROOT::Math::XYZVector 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. | |
int | CherenkovPhoton (ROOT::Math::XYZVector r, ROOT::Math::XYZVector rh, ROOT::Math::XYZVector &rf, ROOT::Math::XYZVector &dirf, double *refind, double *z, int n, int mirrorID=0) |
Calculates the direction of photon emission. | |
bool | HitsMirror (const ROOT::Math::XYZVector &pos, const ROOT::Math::XYZVector &dir, int mirrorID) |
Returns true if photon at position pos with direction dir hits mirror plate with ID mirrorID. | |
ROOT::Math::XYZVector | getTrackMeanEmissionPosition (const ARICHTrack &track, int iAero) |
Returns mean emission position of Cherenkov photons from i-th aerogel layer. | |
ROOT::Math::XYZVector | getTrackPositionAtZ (const ARICHTrack &track, double zout) |
Returns track direction at point with z coordinate "zout" (assumes straight track). | |
ROOT::Math::XYZVector | getMirrorPoint (int mirrorID) |
Returns point on the mirror plate with id mirrorID. | |
ROOT::Math::XYZVector | getMirrorNorm (int mirrorID) |
Returns normal vector of the mirror plate with id mirrorID. | |
Private Attributes | |
double | p_mass [c_noOfHypotheses] |
particle masses | |
DBObjPtr< ARICHGeometryConfig > | m_arichgp |
geometry configuration parameters from the DB | |
DBObjPtr< ARICHReconstructionPar > | m_recPars |
reconstruction parameters from the DB | |
DBObjPtr< ARICHChannelMask > | m_chnMask |
map of masked channels from the DB | |
DBObjPtr< ARICHChannelMapping > | m_chnMap |
map x,y channels to asic channels from the DB | |
DBObjPtr< ARICHGlobalAlignment > | m_alignp |
global alignment parameters from the DB | |
DBObjPtr< ARICHMirrorAlignment > | m_mirrAlign |
global alignment parameters from the DB | |
OptionalDBObjPtr< ARICHAeroTilesAlignment > | m_tileAlign |
alignment of aerogel tiles from DB | |
std::vector< ROOT::Math::XYZVector > | m_mirrorPoints |
vector of points on all mirror plates | |
std::vector< ROOT::Math::XYZVector > | m_mirrorNorms |
vector of normal 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 aerogel layers | |
double | m_transmissionLen [c_noOfAerogels] |
transmission lengths of aerogel layers | |
double | m_n0 [c_noOfAerogels] |
number of emitted photons per unit length | |
ROOT::Math::XYZVector | m_anorm [c_noOfAerogels] |
normal vector of the aerogel plane | |
int | m_storePhot |
set to 1 to store individual reconstructed photon information | |
double | m_tilePars [124][2] = {{0}} |
array of tile parameters | |
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. | |
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 47 of file ARICHReconstruction.h.
|
inline |
|
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.)
[in] | r | Vector of photon emission point. |
[in] | dirf | Direction of photon emission. |
[in] | refind | Array of layers refractive indices. |
[in] | z | Array of z coordinates of borders between layers. |
[in] | n | Number of aerogel layers through which photon passes. |
|
inline |
Use mirror alignment or not.
Definition at line 95 of file ARICHReconstruction.h.
|
staticprivate |
Maximal number of aerogel layers to loop over.
Definition at line 108 of file ARICHReconstruction.h.
|
staticprivate |
Number of hypotheses to loop over.
Definition at line 107 of file ARICHReconstruction.h.
|
private |
if set to true mirror alignment constants from DB are used
Definition at line 124 of file ARICHReconstruction.h.
|
private |
global alignment parameters from the DB
Definition at line 115 of file ARICHReconstruction.h.
|
private |
normal vector of the aerogel plane
Definition at line 132 of file ARICHReconstruction.h.
|
private |
geometry configuration parameters from the DB
Definition at line 111 of file ARICHReconstruction.h.
|
private |
map x,y channels to asic channels from the DB
Definition at line 114 of file ARICHReconstruction.h.
|
private |
map of masked channels from the DB
Definition at line 113 of file ARICHReconstruction.h.
|
private |
global alignment parameters from the DB
Definition at line 116 of file ARICHReconstruction.h.
|
private |
vector of normal vectors of all mirror plates
Definition at line 120 of file ARICHReconstruction.h.
|
private |
vector of points on all mirror plates
Definition at line 119 of file ARICHReconstruction.h.
|
private |
number of emitted photons per unit length
Definition at line 131 of file ARICHReconstruction.h.
|
private |
number of aerogel layers
Definition at line 126 of file ARICHReconstruction.h.
|
private |
reconstruction parameters from the DB
Definition at line 112 of file ARICHReconstruction.h.
|
private |
refractive indices of aerogel layers
Definition at line 127 of file ARICHReconstruction.h.
|
private |
set to 1 to store individual reconstructed photon information
Definition at line 133 of file ARICHReconstruction.h.
|
private |
thicknesses of aerogel layers
Definition at line 129 of file ARICHReconstruction.h.
|
private |
alignment of aerogel tiles from DB
Definition at line 117 of file ARICHReconstruction.h.
|
private |
array of tile parameters
Definition at line 134 of file ARICHReconstruction.h.
|
private |
track direction resolution (from tracking)
Definition at line 123 of file ARICHReconstruction.h.
|
private |
track position resolution (from tracking)
Definition at line 122 of file ARICHReconstruction.h.
|
private |
transmission lengths of aerogel layers
Definition at line 130 of file ARICHReconstruction.h.
|
private |
z-positions of aerogel layers
Definition at line 128 of file ARICHReconstruction.h.
|
private |
particle masses
Definition at line 109 of file ARICHReconstruction.h.