Belle II Software
release-08-01-10
|
Internal ARICH track reconstruction. More...
#include <ARICHReconstruction.h>
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< 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< 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. | |
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.
|
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.)
r | vector of photon emission point |
dirf | direction of photon emission |
n | number of aerogel layers through which photon passes |
refind | array of layers refractive indices |
z | array of z coordinates of borders between layers |