![]() |
Project
|
Namespaces | |
namespace | calibration |
namespace | constants |
namespace | contour |
namespace | dcs |
namespace | eval |
namespace | geo |
get the local-to-global transformation for a given detection element | |
namespace | internal |
namespace | io |
namespace | mapping |
namespace | raw |
namespace | test |
Classes | |
class | Aligner |
class | AlignmentTask |
class | AlignRecordTask |
class | Array |
self initialized array, used for adding constraints More... | |
class | ChannelCode |
struct | Cluster |
cluster minimal structure More... | |
struct | ClusterConfig |
class | ClusterDump |
class | ClusterFinderGEM |
class | ClusterFinderGEMTask |
class | ClusterFinderOriginal |
class | ClusterFinderOriginalTask |
struct | ClusterizerParam |
Configurable parameters for MCH clustering. More... | |
class | ClusterOriginal |
cluster for internal use More... | |
class | ClusterPEM |
struct | ClusterReader |
class | ClusterTransformerTask |
struct | CoDecParam |
struct | CompressedPads_t |
struct | CTF |
wrapper for the Entropy-encoded clusters of the TF More... | |
class | CTFCoder |
struct | CTFHeader |
Header for a single CTF. More... | |
class | CTFHelper |
struct | dataFit |
class | DecoderError |
MCH decoder error implementation. More... | |
class | DEDigitizer |
MCH digitizer dealing with a single detection element. More... | |
class | Detector |
class | Digit |
MCH digit implementation. More... | |
class | DigitFilteringTask |
class | DigitFilterParam |
Configurable parameters for the digit filtering. More... | |
class | Digitizer |
struct | DigitizerParam |
class | DigitsReaderDeviceDPL |
class | DsChannelId |
class | EntropyDecoderSpec |
class | EntropyEncoderSpec |
struct | Error |
class | ErrorMap |
A container class to summarize errors encountered during processing. More... | |
class | ErrorMergerTask |
struct | ErrorReader |
class | EventFinder |
Class to group MCH digits based on MID information. More... | |
struct | EventFinderParam |
Configurable parameters to group MCH digits based on MID information. More... | |
class | EventFinderTask |
class | HeartBeatPacket |
MCH heart-beat packet implementation. More... | |
class | Hit |
class | HVStatusCreator |
Find HV issues from DCS data points and add them to the status map. More... | |
class | LocalTrackClusterResidual |
local track residual, for tempoarary eval More... | |
class | LocalTrackParam |
local track parameters, for refit More... | |
struct | MapKToIJ_t |
class | Mapping |
class | MathiesonOriginal |
Original Mathieson function. More... | |
class | MCHDPLDigitizerTask |
class | OrbitInfo |
MCH orbit info implementation. More... | |
struct | Pad |
class | PadOriginal |
pad for internal use More... | |
class | Pads |
struct | PreCluster |
precluster minimal structure More... | |
class | PreClusterFinder |
struct | PreClusterFinderParam |
Configurable parameters for MCH preclustering. More... | |
class | PreClusterFinderTask |
struct | PreClusterReader |
class | PreClusterSinkTask |
class | Response |
struct | ResponseParam |
Configurable parameters for MCH clustering. More... | |
class | ROFRecord |
class | ROFTimeClusterFinder |
struct | SanityError |
class | SeederTask |
struct | SplineCoef |
class | StatusMap |
class | StatusMapCreatorParam |
Configurable parameters for the statusmap creator. More... | |
class | StatusMapCreatorTask |
struct | StatusMapReader |
class | Stepper |
class | TimeClusterFinderTask |
class | TimeClusterizerParam |
Configurable parameters for the time clustering. More... | |
class | Track |
track for internal use More... | |
class | TrackAtVertexTask |
struct | TrackAtVtxStruct |
struct | TrackDumper |
struct | TrackerParam |
Configurable parameters for MCH tracking. More... | |
class | TrackExtrap |
Class holding tools for track extrapolation. More... | |
class | TrackFinder |
Class to reconstruct tracks. More... | |
class | TrackFinderOriginal |
Class to reconstruct tracks with the original algorithm. More... | |
class | TrackFinderTask |
class | TrackFitter |
Class to fit a track to a set of clusters. More... | |
class | TrackFitterTask |
class | TrackMCH |
MCH track external format. More... | |
class | TrackMCLabelFinderTask |
class | TrackParam |
track parameters for internal use More... | |
struct | TrackParamStruct |
track parameters minimal structure More... | |
struct | TrackReader |
class | TrackSamplerTask |
class | TrackSinkTask |
class | VertexSamplerSpec |
Typedefs | |
using | DsChannelGroup = std::vector< DsChannelId > |
using | DataRequest = o2::globaltracking::DataRequest |
using | GID = o2::dataformats::GlobalTrackID |
typedef int | PadIdx_t |
typedef short | Groups_t |
typedef short | Mask_t |
typedef std::pair< int, double * > | DataBlock_t |
typedef double | realtype |
typedef struct o2::mch::SplineCoef | SplineCoef_t |
typedef struct o2::mch::dataFit | funcDescription_t |
typedef std::function< bool(const Digit &)> | DigitFilter |
using | DsIndex = uint16_t |
template<typename T > | |
using | BranchDefinition = MakeRootTreeWriterSpec::BranchDefinition< T > |
using | RDH = o2::header::RDHAny |
typedef std::function< bool(const ROFRecord &)> | ROFFilter |
Enumerations | |
enum class | ErrorGroup : uint8_t { Unassigned , Decoding , Filtering , TimeClustering , PreClustering , Clustering , Tracking } |
enum class | ErrorType : uint32_t { PreClustering_MultipleDigitsInSamePad = internal::buildTypeGID(ErrorGroup::PreClustering, 0) , PreClustering_LostDigit = internal::buildTypeGID(ErrorGroup::PreClustering, 1) , Clustering_TooManyLocalMaxima = internal::buildTypeGID(ErrorGroup::Clustering, 0) , Tracking_TooManyCandidates = internal::buildTypeGID(ErrorGroup::Tracking, 0) , Tracking_TooLong = internal::buildTypeGID(ErrorGroup::Tracking, 1) } |
enum | Medium { Gas , Carbon , HoneyNomex , BulkNomex , Noryl , Copper , FR4 , Rohacell , Glue , Plastic , Epoxy , Inox , St1Rohacell , Aluminium } |
enum | tCheckNoLeftoverDigits { CHECK_NO_LEFTOVER_DIGITS_QUIET , CHECK_NO_LEFTOVER_DIGITS_ERROR , CHECK_NO_LEFTOVER_DIGITS_FATAL } |
enum class | Station { Type1 , Type2345 } |
Functions | |
std::ostream & | operator<< (std::ostream &stream, const Cluster &cluster) |
std::ostream & | operator<< (std::ostream &, const CTFHeader &) |
std::ostream & | operator<< (std::ostream &os, const Digit &d) |
std::ostream & | operator<< (std::ostream &os, const ROFRecord &rof) |
std::ostream & | operator<< (std::ostream &os, const TrackMCH &t) |
std::string | asString (const o2::mch::TrackMCH &t) |
bool | closeEnough (double x, double y, double eps=1E-6) |
Double_t | Square (Double_t x) |
o2::framework::DataProcessorSpec | getAlignmentSpec (bool disableCCDB=false) |
o2::framework::DataProcessorSpec | getAlignRecordSpec (bool useMC, bool disableCCDB=false) |
double | Square (double x) |
constexpr ErrorGroup | errorGroup (ErrorType error) |
bool | isOK (const SanityError &error) |
std::string | asString (const SanityError &error) |
template<typename T > | |
SanityError | sanityCheck (gsl::span< const ROFRecord > rofs, gsl::span< const T > items) |
bool | isTrackable (std::array< int, 10 > itemsPerChamber, std::array< bool, 5 > requestStation={true, true, true, true, true}, bool moreCandidates=false) |
template<typename T > | |
std::array< int, 10 > | perChamber (gsl::span< const T > items) |
template<typename T > | |
std::array< int, 5 > | perStation (gsl::span< const T > items) |
std::ostream & | operator<< (std::ostream &stream, const TrackParamStruct &trackParam) |
uint64_t | encode (uint32_t a, uint32_t b) |
std::pair< uint32_t, uint32_t > | decode (uint64_t x) |
template<> | |
std::array< int, 10 > | perChamber (gsl::span< const int > deids) |
template<> | |
std::array< int, 10 > | perChamber (gsl::span< const Digit > digits) |
void | initClusterConfig () |
gsl_matrix * | moore_penrose_pinv (gsl_matrix *A, double rcond) |
void | collectGroupMapping (Mask_t *padToMGrp, int nPads) |
void | collectSeeds (double *theta, o2::mch::Groups_t *thetaToGroup, int K) |
void | cleanClusterResults () |
bool | shouldUsePad (const PadOriginal &pad, int plane, int statusMask, bool matchMask) |
void | print_matrix (const gsl_matrix *m) |
void | printGSLVector (const char *str, const gsl_vector *v) |
int | main () |
void | initMathieson (int useSpline_, int useCache_) |
void | initSplineMathiesonPrimitive () |
void | computeSplineCoef (const double *xy, double xyStep, const double *f, int N, double leftDerivative, double rightDerivative, SplineCoef *splineCoef) |
void | splineMathiesonPrimitive (const double *x, int N, int axe, int chamberId, double *mPrimitive) |
void | mathiesonPrimitive (const double *xy, int N, int axe, int chamberId, double mPrimitive[]) |
void | compute1DMathieson (const double *xy, int N, int axe, int chamberId, double mathieson[]) |
void | compute1DPadIntegrals (const double *xyInf, const double *xySup, int N, double xy0, int axe, int chamberId, double *integrals) |
void | compute1DPadIntegrals (const double *xyInf, const double *xySup, int N, int axe, int chamberId, double *Integrals) |
int | compressSameValues (const double *x1, const double *x2, int *map1, int *map2, int N, double *xCompress) |
CompressedPads_t * | compressPads (const double *xInf, const double *xSup, const double *yInf, const double *ySup, int N) |
void | deleteCompressedPads (CompressedPads_t *compressedPads) |
void | computeCompressed2DPadIntegrals (CompressedPads_t *compressedPads, double xShift, double yShift, int N, int chamberId, double Integrals[]) |
void | compute2DPadIntegrals (const double *xInf, const double *xSup, const double *yInf, const double *ySup, int N, int chamberId, double Integrals[]) |
void | compute2DMathiesonMixturePadIntegrals (const double *xyInfSup0, const double *theta, int N, int K, int chamberId, double Integrals[]) |
bool | checkIntegrals (const double *xInf, const double *xSup, const double *yInf, const double *ySup, const double *integralsToCheck, int chId, int N) |
void | computeFastCij (const Pads &pads, const Pads &pixel, double Cij[]) |
void | computeFastCijV0 (const Pads &pads, const Pads &pixel, double Cij[]) |
void | computeCij (const Pads &pads, const Pads &pixel, double Cij[]) |
void | checkCij (const Pads &pads, const Pads &pixels, const double *checkCij, int mode) |
double * | getVarX (double *theta, int K) |
double * | getVarY (double *theta, int K) |
double * | getMuX (double *theta, int K) |
double * | getMuY (double *theta, int K) |
double * | getW (double *theta, int K) |
double * | getMuAndW (double *theta, int K) |
const double * | getConstVarX (const double *theta, int K) |
const double * | getConstVarY (const double *theta, int K) |
const double * | getConstMuX (const double *theta, int K) |
const double * | getConstMuY (const double *theta, int K) |
const double * | getConstW (const double *theta, int K) |
const double * | getConstMuAndW (const double *theta, int K) |
double * | getX (double *xyDxy, int N) |
double * | getY (double *xyDxy, int N) |
double * | getDX (double *xyDxy, int N) |
double * | getDY (double *xyDxy, int N) |
const double * | getConstX (const double *xyDxy, int N) |
const double * | getConstY (const double *xyDxy, int N) |
const double * | getConstDX (const double *xyDxy, int N) |
const double * | getConstDY (const double *xyDxy, int N) |
double * | getXInf (double *xyInfSup, int N) |
double * | getYInf (double *xyInfSup, int N) |
double * | getXSup (double *xyInfSup, int N) |
double * | getYSup (double *xyInfSup, int N) |
const double * | getConstXInf (const double *xyInfSup, int N) |
const double * | getConstYInf (const double *xyInfSup, int N) |
const double * | getConstXSup (const double *xyInfSup, int N) |
const double * | getConstYSup (const double *xyInfSup, int N) |
void | copyTheta (const double *theta0, int K0, double *theta, int K1, int K) |
void | copyXYdXY (const double *xyDxy0, int N0, double *xyDxy, int N1, int N) |
void | printTheta (const char *str, double meanCharge, const double *theta, int K) |
void | xyDxyToxyInfSup (const double *xyDxy, int nxyDxy, double *xyInfSup) |
void | maskedCopyXYdXY (const double *xyDxy, int nxyDxy, const Mask_t *mask, int nMask, double *xyDxyMasked, int nxyDxyMasked) |
void | maskedCopyToXYInfSup (const double *xyDxy, int ndxyDxy, const Mask_t *mask, int nMask, double *xyDxyMasked, int ndxyDxyMasked) |
void | maskedCopyTheta (const double *theta, int K, const Mask_t *mask, int nMask, double *maskedTheta, int maskedK) |
void | printXYdXY (const char *str, const double *xyDxy, int NMax, int N, const double *val1, const double *val2) |
void | compute1DPadIntegrals (const double *xInf, const double *xSup, int N, int axe, int chamberId, double Integrals[]) |
void | printState (int iter, gsl_multifit_fdfsolver *s, int axe, int K, int N) |
void | fitMathieson (const Pads &iPads, double *thetaInit, int kInit, int dimOfParameters, int axe, int mode, double *thetaFinal, double *khi2, double *pError) |
void | printState (int iter, gsl_multifit_fdfsolver *s, int K) |
void | vectorPrint (const char *str, const double *x, int K) |
void | vectorPrintInt (const char *str, const int *x, int K) |
void | vectorPrintShort (const char *str, const short *x, int K) |
void | vectorPrint2Columns (const char *str, const double *x, const double *y, int K) |
void | printMatrixInt (const char *str, const int *matrix, int N, int M) |
void | printMatrixShort (const char *str, const short *matrix, int N, int M) |
void | printMatrixChar (const char *str, const char *matrix, int N, int M) |
void | printInterMap (const char *str, const PadIdx_t *inter, int N) |
void | deleteDouble (double *ptr) |
void | deleteInt (int *ptr) |
void | deleteShort (short *ptr) |
auto | findPad (std::vector< PadOriginal > &pads, double x, double y, double minCharge) |
bool | areOverlapping (const PadOriginal &pad1, const PadOriginal &pad2, double precision) |
void | iterateEMPoisson (const double *Cij, const double *Ci, const Mask_t *maskCij, const double *qPixels, const double *qPad, double *qPadPrediction, int nPixels, int nPads, double *newQPixels) |
void | fastIterateEMPoissonV0 (const double *Cij, const double *Ci, const double *qPixels, const double *qPad, double *qPadPrediction, int nPixels, int nPads, double *newQPixels) |
void | fastIterateEMPoisson (const double *Cij, const double *Ci, const double *qPixels, const double *qPad, double *qPadPrediction, int nPixels, int nPads, double *newQPixels) |
double | computeChiSquare (const Pads &pads, const double *qPredictedPads, int iStart, int iEnd) |
std::pair< double, double > | computeChiSquare (const Pads &pads, const double *qPredictedPads, int N) |
std::pair< double, double > | PoissonEMLoop (const Pads &pads, Pads &pixels, const double *Cij, Mask_t *maskCij, int qCutMode, double minPadError, int nItMax) |
framework::DataProcessorSpec | getEntropyDecoderSpec (int verbosity, const char *specName, unsigned int sspec) |
create a processor spec | |
o2::framework::DataProcessorSpec | getPreClusterSinkSpec (const char *specName) |
o2::framework::DataProcessorSpec | getTrackSamplerSpec (const char *specName, bool forTrackFitter) |
o2::framework::DataProcessorSpec | getTrackSinkSpec (const char *specName, bool mchTracks, bool tracksAtVtx) |
DigitFilter | createDigitFilter (uint32_t minADC, bool rejectBackground, bool selectSignal, const StatusMap &statusMap={}, uint32_t statusMask=0) |
o2::framework::DataProcessorSpec | getDigitFilteringSpec (bool useMC, std::string_view specName="mch-digit-filtering", std::string_view inputDigitDataDescription="DIGITS", std::string_view outputDigitDataDescription="F-DIGITS", std::string_view inputDigitRofDataDescription="DIGITROFS", std::string_view outputDigitRofDataDescription="F-DIGITROFS", std::string_view inputDigitLabelDataDescription="DIGITLABELS", std::string_view outputDigitLabelDataDescription="F-DIGITLABELS") |
void | report (const std::map< int, std::vector< int > > &rejectList, uint32_t statusMask) |
DigitFilter | createBadChannelFilter (const StatusMap &statusMap, uint32_t statusMask) |
void | createMaterials () |
TGeoMedium * | assertMedium (int imed) |
void | createHole () |
void | createDaughterBoard () |
void | createInnerLayers () |
void | createSpacer () |
void | createFrame (int chamber) |
TGeoVolume * | createPlaneSegment (int iSegment, float halfLength, float halfHeight, int nHoles) |
void | placeInnerLayers (int chamber) |
TGeoVolumeAssembly * | createQuadrant (int chamber) |
void | createStation1Geometry (TGeoVolume &topVolume) |
std::vector< TGeoVolume * > | getStation1SensitiveVolumes () |
TGeoVolume * | createSegment (int i) |
void | createFrames () |
TGeoVolume * | createQuadrant () |
void | createStation2Geometry (TGeoVolume &topVolume) |
std::vector< TGeoVolume * > | getStation2SensitiveVolumes () |
TGeoVolume * | getDualSampa () |
bool | isRounded (string name) |
bool | isShort (string name) |
TGeoCompositeShape * | getRoundedShape (const char *name, float halfThickness, float xPos, float yPos, float radius) |
void | createCommonVolumes () |
void | createPCBs () |
void | createSlats () |
void | createSupportPanels () |
void | buildHalfChambers (TGeoVolume &topVolume) |
vector< TGeoVolume * > | getStation345SensitiveVolumes () |
void | createStation345Geometry (TGeoVolume &topVolume) |
o2::framework::DataProcessorSpec | getClusterTransformerSpec (const char *specName="mch-cluster-transformer", bool disableCcdb=false) |
void | local2global (geo::TransformationCreator transformation, gsl::span< const Cluster > localClusters, std::vector< Cluster, o2::pmr::polymorphic_allocator< Cluster > > &globalClusters) |
std::string | asString (const ChannelCode &cc) |
bool | operator== (const ChannelCode &a, const ChannelCode &b) |
bool | operator!= (const ChannelCode &a, const ChannelCode &b) |
bool | operator< (const ChannelCode &a, const ChannelCode &b) |
bool | operator> (const ChannelCode &a, const ChannelCode &b) |
bool | operator<= (const ChannelCode &a, const ChannelCode &b) |
bool | operator>= (const ChannelCode &a, const ChannelCode &b) |
DsIndex | getDsIndex (const o2::mch::raw::DsDetId &dsDetId) |
o2::mch::raw::DsDetId | getDsDetId (DsIndex dsIndex) |
uint8_t | numberOfDualSampaChannels (DsIndex dsIndex) |
template<typename KEY , typename VALUE > | |
std::map< VALUE, KEY > | inverseMap (const std::map< KEY, VALUE > &src) |
std::map< uint32_t, uint16_t > | buildDetId2DsIndexMap () |
o2::framework::DataProcessorSpec | getClusterReaderSpec (bool useMC, const char *specName="mch-cluster-reader", bool global=true, bool digits=false) |
o2::framework::DataProcessorSpec | getClusterWriterSpec (bool useMC, const char *specName="mch-cluster-writer", bool global=true, bool digits=true) |
framework::DataProcessorSpec | getDigitReaderSpec (bool useMC, std::string_view specName="mch-digit-reader", std::string_view outputDigitDataDescription="DIGITS", std::string_view outputDigitRofDataDescription="DIGITROFS", std::string_view outputDigitLabelDataDescription="DIGITLABELS") |
o2::framework::DataProcessorSpec | getMCHDigitWriterSpec (bool mctruth) |
o2::framework::DataProcessorSpec | getDigitWriterSpec (bool useMC, std::string_view specName="mch-digit-writer", std::string_view outfile="mchdigits.root", std::string_view inputDigitDataDescription="DIGITS", std::string_view inputDigitRofDataDescription="DIGITROFS", std::string_view inputDigitLabelDataDescription="DIGITLABELS") |
o2::framework::DataProcessorSpec | getPreClusterReaderSpec (bool useMC, const char *specName="mch-precluster-reader") |
o2::framework::DataProcessorSpec | getPreClusterWriterSpec (bool useMC, const char *specName="mch-precluster-writer") |
o2::framework::DataProcessorSpec | getTrackReaderSpec (bool useMC, const char *specName="mch-tracks-reader", bool digits=false, uint32_t subspec=0) |
o2::framework::DataProcessorSpec | getTrackWriterSpec (bool useMC, const char *specName="mch-track-writer", const char *fileName="mchtracks.root", bool digits=false) |
DataProcessorSpec | getStatusMapReaderSpec (const char *specName) |
DataProcessorSpec | getStatusMapWriterSpec (const char *specName) |
void | dump (std::ostream &os, const o2::mch::TrackMCH &t) |
DataProcessorSpec | getTrackDumperSpec (bool useMC, const char *specName) |
template<typename T > | |
void | printBranch (char *data, const char *what) |
o2::framework::DataProcessorSpec | getPreClusterFinderSpec (const char *specName="PreClusterFinder", std::string_view inputDigitDataDescription="F-DIGITS", std::string_view inputDigitRofDataDescription="TC-F-DIGITROFS") |
bool | operator== (const OrbitInfo &o1, const OrbitInfo &o2) |
bool | operator!= (const OrbitInfo &o1, const OrbitInfo &o2) |
bool | operator< (const OrbitInfo &o1, const OrbitInfo &o2) |
ROFFilter | createIRFrameFilter (gsl::span< const o2::dataformats::IRFrame > irframes) |
ROFFilter | createMultiplicityFilter (int minMultiplicity) |
ROFFilter | createROFFilter (gsl::span< const ROFFilter > filters) |
template<typename T > | |
ROFFilter | createTrackableFilter (gsl::span< const T > items, std::array< bool, 5 > requestStation={true, true, true, true, true}, bool moreCandidates=false) |
BOOST_AUTO_TEST_CASE (Response_test) | |
std::map< int, std::vector< int > > | applyMask (const o2::mch::StatusMap &statusMap, uint32_t mask) |
o2::framework::DataProcessorSpec | getStatusMapCreatorSpec (std::string_view specName="mch-statusmap-creator") |
void | assertValidMask (uint32_t mask) |
size_t | size (const StatusMap &sm) |
o2::framework::DataProcessorSpec | getTimeClusterFinderSpec (const char *specName="mch-time-cluster-finder", std::string_view inputDigitDataDescription="F-DIGITS", std::string_view inputDigitRofDataDescription="F-DIGITROFS", std::string_view outputDigitRofDataDescription="TC-F-DIGITROFS", std::string_view inputIRFrameDataDescription="ITS/IRFRAMES") |
o2::framework::DataProcessorSpec | getTrackFinderSpec (const char *specName="mch-track-finder", bool computeTime=true, bool digits=false, bool disableCCDBMagField=false, bool original=false) |
o2::framework::DataProcessorSpec | getTrackFitterSpec (const char *specName) |
o2::framework::DataProcessorSpec | getClusterFinderOriginalSpec (const char *specName="mch-cluster-finder-original") |
framework::DataProcessorSpec | getErrorReaderSpec (const char *specName="mch-error-reader") |
framework::DataProcessorSpec | getErrorWriterSpec (const char *specName="mch-error-writer") |
o2::framework::DataProcessorSpec | getClusterFinderGEMSpec (const char *specName) |
DataProcessorSpec | getEntropyEncoderSpec (const char *specName, bool selIR) |
DataProcessorSpec | getErrorMergerSpec (const char *specName, bool preclustering, bool clustering, bool tracking) |
DataProcessorSpec | getEventFinderSpec (bool useMC, std::string_view specName, std::string_view inputDigitDataDescription, std::string_view outputDigitDataDescription, std::string_view inputDigitRofDataDescription, std::string_view outputDigitRofDataDescription, std::string_view inputDigitLabelDataDescription, std::string_view outputDigitLabelDataDescription) |
o2::framework::DataProcessorSpec | getTrackAtVertexSpec (const char *specName) |
o2::framework::DataProcessorSpec | getTrackMCLabelFinderSpec (const char *specName, const char *digitRofDataDescription, const char *digitLabelDataDescription) |
o2::framework::DataProcessorSpec | getVertexSamplerSpec (const char *specName) |
o2::framework::DataProcessorSpec | getMCHDigitizerSpec (int channel, bool mctruth) |
Variables | |
ClusterConfig | clusterConfig |
double | epsilonGeometry = 1.0e-4 |
const double | sqrtK3x1_2 = 0.7000 |
const double | sqrtK3y1_2 = 0.7550 |
const double | pitch1_2 = 0.21 |
const double | sqrtK3x3_10 = 0.7131 |
const double | sqrtK3y3_10 = 0.7642 |
const double | pitch3_10 = 0.25 |
int | mathiesonType |
int | useSpline = 0 |
SplineCoef * | splineCoef [2][2] |
double * | splineXY = nullptr |
int | useCache = 0 |
const float | kZHydrogen = 1. |
const float | kAHydrogen = 1.00794 |
const float | kZCarbon = 6. |
const float | kACarbon = 12.0107 |
const float | kDensCarbon = 2.265 |
const float | kZNitrogen = 7. |
const float | kANitrogen = 14.0067 |
const float | kZOxygen = 8. |
const float | kAOxygen = 15.9994 |
const float | kZAluminium = 13. |
const float | kAAluminium = 26.9815385 |
const float | kDensAluminium = 2.699 |
const float | kZSilicon = 14. |
const float | kASilicon = 28.0855 |
const float | kZArgon = 18. |
const float | kAArgon = 39.948 |
const float | kZChromium = 24. |
const float | kAChromium = 51.9961 |
const float | kZIron = 26. |
const float | kAIron = 55.845 |
const float | kZNickel = 28. |
const float | kANickel = 58.6934 |
const float | kZCopper = 29. |
const float | kACopper = 63.546 |
const float | kDensCopper = 8.96 |
const float | kEpsil = 0.001 |
Tracking parameters (values taken from AliMUONCommonGeometryBuilder) | |
const float | kMaxfd = -20. |
const float | kStemax = -1. |
const float | kDeemax = -0.3 |
const float | kStmin = -0.8 |
const char * | kModuleName = "MCH" |
const float | kChamberZPos [2] = {-526.16, -545.24} |
Constants. | |
const float | kQuadrantZPos = 7.5 / 2 |
const float | kHzPadPlane = 0.0148 / 2 |
const float | kHzFoam = 2.503 / 2 |
const float | kHzFR4 = 0.062 / 2 |
const float | kTotalHzPlane = kHzFoam + kHzFR4 |
const float | kHzSnPb = 0.0091 / 2 |
const float | kHzKapton = 0.0122 / 2 |
const float | kHzBergPlastic = 0.3062 / 2 |
const float | kHzBergCopper = 0.1882 / 2 |
const float | kHzDaughter = 0.0156 / 2 |
const float | kHzGas = 0.42 / 2 |
const float | kHxBoxSpacer = 0.51 |
const float | kHySpacer5A = 0.17 |
const float | kHzSpacer5A = 1.1515 |
const float | kHySpacer6 = 1.5 |
const float | kHzSpacer6 = 0.1 |
const float | kRSpacer7A = 0.3 |
const float | kHzSpacer7A = 0.1 |
const float | kMotherPhiL = 0. |
const float | kMotherPhiU = 90. |
const float | kMotherIR1 = 18.3 |
const float | kMotherOR1 = 105.673 |
const float | kMotherThick1 = 6.5 / 2 |
const float | kMotherIR2 = 20.7 |
const float | kMotherOR2 = 100.073 |
const float | kMotherThick2 = 1.5 |
const float | kHxHole = 1.5 / 2 |
const float | kHyHole = 3. |
const float | kHxBergPlastic = 0.74 / 2 |
const float | kHyBergPlastic = 5.09 / 2 |
const float | kHxBergCopper = 0.25 / 2 |
const float | kHyBergCopper = 3.6 / 2 |
const float | kHxKapton = 0.4 |
const float | kHyKapton = 5.7 / 2 |
const float | kHxDaughter = 2.3 / 2 |
const float | kHyDaughter = 6.3 / 2 |
const float | kOffsetX = 1.46 |
const float | kOffsetY = 0.71 |
const float | kDeltaFilleEtamX = 1. |
const float | kDeltaFilleEtamY = 0.051 |
const float | kLateralXPosShift = 92.175 |
const float | kLateralYPosShift = 5. |
const float | kThetaTrap = 0. |
const float | kPhiTrap = 0. |
const float | kNearFarLHC = 2.4 |
const float | kDeltaQuadLHC = 2.6 |
const float | kFrameOffset = 5.2 |
const float | kPadXOffsetBP = 0.50 - 0.63 / 2 |
const float | kPadYOffsetBP = -0.31 - 0.42 / 2 |
const int | kFoamBoxNameOffset = 200 |
const int | kFR4BoxNameOffset = 400 |
const int | kDaughterCopyNoOffset = 1000 |
const char * | kHoleName = "SCHL" |
const char * | kDaughterName = "SCDB" |
const char * | kQuadrantMLayerName = "SQM" |
const char * | kQuadrantNLayerName = "SQN" |
const char * | kQuadrantFLayerName = "SQF" |
const char * | kQuadrantMFLayerName = "SQMF" |
const double | kGasHalfThickness = 0.25 |
const double | kCathodeHalfThickness = 0.005 / 2 |
const double | kPCBHalfThickness = 0.04 / 2 |
const double | kInsuHalfThickness = kPCBHalfThickness - kCathodeHalfThickness |
const double | kRohaHalfThickness = 2.5 / 2 |
const double | kMEBHalfThickness = 0.04 / 2 |
const double | kEERBHalfThickness = 0.04 / 2 |
const double | kStartAngle = 0. |
const double | kStopAngle = 90. |
const int | kNPlanes = 2 |
const int | kNEdges = 5 |
const int | kNSegments = 3 |
Segments. | |
const double | kSegmentRadius [2] = {23.1, 117.6} |
const double | kBoxSegHalfLength [kNSegments] = {95.5 / 2, 0., 0.5} |
const double | kBoxSegHalfHeight [kNSegments] = {0.6, 0., 95.5 / 2} |
const int | kNFrames = 8 |
Frames. | |
const double | kFrameHalfLength [kNFrames] = {101. / 2, 2., 0., 0.5, 2.7 / 2, 0.5, 0., 2.5 / 2} |
const double | kFrameHalfHeight [kNFrames] = {2.5 / 2, 0.6, 0., 2., 101. / 2, 2.5 / 2, 0., 0.6} |
const double | kRibHalfLength [kNFrames] |
const double | kRibHalfHeight [kNFrames] |
const double | kFrame3Radius [2] = {kSegmentRadius[1], 121.6} |
const double | kRib3Radius [2] = {kSegmentRadius[1], 120.6} |
const double | kFrame7Radius [2] = {20.6, kSegmentRadius[0]} |
const double | kRib7Radius [2] = {21.6, kSegmentRadius[0]} |
const double | kEpoxyHalfThickness = 2. |
const double | kRibHalfThickness = 0.5 |
const float | kGasLength = 40. |
Constants. | |
const float | kGasHalfHeight = 40. / 2 |
const float | kPCBLength = kGasLength |
const float | kShortPCBLength = 35. |
const float | kRoundedPCBLength = 42.5 |
const float | kR1PCBLength = 19.25 |
const float | kPCBHalfHeight = 58. / 2 |
const float | kSlatPanelHalfHeight = 42.5 / 2 |
const float | kGlueHalfThickness = 0.004 / 2 |
const float | kNomexBulkHalfThickness = 0.025 / 2 |
const float | kCarbonHalfThickness = 0.02 / 2 |
const float | kNomexHalfThickness = 0.8 / 2 |
const float | kSpacerHalfThickness = kGasHalfThickness |
const float | kHoriSpacerHalfHeight = 1.95 / 2 |
const float | kVertSpacerHalfLength = 2.5 / 2 |
const float | kRoundedSpacerHalfLength = 1. |
const float | kBorderHalfHeight = 2.5 |
const float | kBorderHalfThickness = kGasHalfThickness |
const float | kDualSampaHalfLength = 3.2 / 2 |
const float | kDualSampaHalfHeight = 2.5 |
const float | kDualSampaHalfThickness = 0.027 / 2 |
const float | kDualSampaYPos = 0.45 + kSlatPanelHalfHeight + kDualSampaHalfHeight |
const float | kLVCableHalfHeight = 2.6 / 2 |
Cables (copper) | |
const float | kLVCableHalfThickness = 0.026 / 2 |
const float | kCarbonSupportHalfThickness = 0.03 / 2 |
Support panels. | |
const float | kGlueSupportHalfThickness = 0.02 / 2 |
const float | kNomexSupportHalfThickness = 1.5 / 2 |
const float | kSt3SupportHalfHeight = 361. / 2 |
const float | kSt4SupportHalfHeight = 530. / 2 |
const float | kSt5SupportHalfHeight = 570. / 2 |
const float | kCh5SupportHalfLength = 162. / 2 |
const float | kCh6SupportHalfLength = 167. / 2 |
const float | kSt45SupportHalfLength = 260. / 2 |
const float | kSt3Radius = 29.5 |
const float | kSt45Radius = 37.5 |
const float | kSt3RoundedSlatYPos = 37.8 |
const float | kSt45RoundedSlatYPos = 38.2 |
const map< string, array< int, 4 > > | kPcbTypes = {{"B1N1", {10, 10, 7, 7}}, {"B2N2-", {5, 5, 4, 3}}, {"B2N2+", {5, 5, 3, 4}}, {"B3-N3", {3, 2, 2, 2}}, {"B3+N3", {2, 3, 2, 2}}, {"R1", {3, 4, 2, 3}}, {"R2", {13, 4, 9, 3}}, {"R3", {13, 1, 10, 0}}, {"S2-", {4, 5, 3, 3}}, {"S2+", {5, 4, 3, 3}}} |
const map< string, vector< string > > | kSlatTypes |
const string | jsonSlatDescription |
Json string describing all the necessary parameters to place the slats in the half-chambers. | |
constexpr uint16_t | NumberOfDualSampas = 16820 |
RootTreeReader::SpecialPublishHook | logging |
using o2::mch::BranchDefinition = typedef MakeRootTreeWriterSpec::BranchDefinition<T> |
Definition at line 29 of file ClusterWriterSpec.cxx.
typedef std::pair<int, double*> o2::mch::DataBlock_t |
Definition at line 30 of file ClusterPEM.h.
using o2::mch::DataRequest = typedef o2::globaltracking::DataRequest |
Definition at line 75 of file AlignRecordSpec.cxx.
typedef std::function<bool(const Digit&)> o2::mch::DigitFilter |
Definition at line 21 of file DigitFilter.h.
using o2::mch::DsChannelGroup = typedef std::vector<DsChannelId> |
Definition at line 26 of file DsChannelGroup.h.
using o2::mch::DsIndex = typedef uint16_t |
typedef struct o2::mch::dataFit o2::mch::funcDescription_t |
using o2::mch::GID = typedef o2::dataformats::GlobalTrackID |
Definition at line 76 of file AlignRecordSpec.cxx.
typedef short o2::mch::Groups_t |
Definition at line 25 of file ClusterConfig.h.
typedef short o2::mch::Mask_t |
Definition at line 26 of file ClusterConfig.h.
typedef int o2::mch::PadIdx_t |
Definition at line 24 of file ClusterConfig.h.
using o2::mch::RDH = typedef o2::header::RDHAny |
Definition at line 19 of file OrbitInfo.cxx.
typedef double o2::mch::realtype |
Compute the (Moore-Penrose) pseudo-inverse of a libgsl matrix in plain C.
Compile uding:
gcc moore_penrose_pseudoinverse.c -lgsl -lblas
Dependencies:
Charl Linssen charl.nosp@m.@itf.nosp@m.romb..nosp@m.it Feb 2016 PUBLIC DOMAIN
Definition at line 62 of file ClusterPEM.cxx.
typedef std::function<bool(const ROFRecord&)> o2::mch::ROFFilter |
Definition at line 25 of file ROFFilter.h.
typedef struct o2::mch::SplineCoef o2::mch::SplineCoef_t |
|
strong |
|
strong |
enum o2::mch::Medium |
Enumerator | |
---|---|
Gas | |
Carbon | |
HoneyNomex | |
BulkNomex | |
Noryl | |
Copper | |
FR4 | |
Rohacell | |
Glue | |
Plastic | |
Epoxy | |
Inox | |
St1Rohacell | |
Aluminium |
Definition at line 25 of file Materials.h.
|
strong |
Enumerator | |
---|---|
Type1 | |
Type2345 |
Definition at line 25 of file Response.h.
Enumerator | |
---|---|
CHECK_NO_LEFTOVER_DIGITS_QUIET | |
CHECK_NO_LEFTOVER_DIGITS_ERROR | |
CHECK_NO_LEFTOVER_DIGITS_FATAL |
Definition at line 56 of file PreClusterFinderSpec.cxx.
std::map< int, std::vector< int > > o2::mch::applyMask | ( | const o2::mch::StatusMap & | statusMap, |
uint32_t | mask | ||
) |
convert a pair {StatusMap,mask} to a map deid->[vector of bad channel's padids] where the meaning of bad is defined by the mask.
Note that if the mask==0 then the output map is empty by construction (as all pads are considered good then).
Note also that we do make sure that the output map only contains actually connected pads
Definition at line 115 of file StatusMap.cxx.
|
inline |
check if the two pads overlap within the given precision (cm): positive precision = decrease pad size, i.e. pads touching each other do not overlap negative precision = increase pad size, i.e. pads touching each other, including corners, overlap
Definition at line 129 of file PadOriginal.h.
TGeoMedium * o2::mch::assertMedium | ( | int | imed | ) |
Definition at line 222 of file Materials.cxx.
void o2::mch::assertValidMask | ( | uint32_t | mask | ) |
Definition at line 27 of file StatusMap.cxx.
std::string o2::mch::asString | ( | const ChannelCode & | cc | ) |
return a string representation
Definition at line 161 of file ChannelCode.cxx.
std::string o2::mch::asString | ( | const o2::mch::TrackMCH & | t | ) |
Definition at line 104 of file TrackMCH.cxx.
std::string o2::mch::asString | ( | const SanityError & | error | ) |
Definition at line 26 of file SanityCheck.cxx.
o2::mch::BOOST_AUTO_TEST_CASE | ( | Response_test | ) |
Definition at line 33 of file testResponse.cxx.
std::map< uint32_t, uint16_t > o2::mch::buildDetId2DsIndexMap | ( | ) |
Definition at line 56 of file DsIndex.cxx.
void o2::mch::buildHalfChambers | ( | TGeoVolume & | topVolume | ) |
Build the slat half-chambers The different slat types must have been built before calling this function !!!
Definition at line 630 of file Station345Geometry.cxx.
void o2::mch::checkCij | ( | const Pads & | pads, |
const Pads & | pixels, | ||
const double * | checkCij, | ||
int | mode | ||
) |
Definition at line 941 of file mathieson.cxx.
bool o2::mch::checkIntegrals | ( | const double * | xInf, |
const double * | xSup, | ||
const double * | yInf, | ||
const double * | ySup, | ||
const double * | integralsToCheck, | ||
int | chId, | ||
int | N | ||
) |
Definition at line 635 of file mathieson.cxx.
void o2::mch::cleanClusterResults | ( | ) |
Definition at line 54 of file clusterProcessing.cxx.
bool o2::mch::closeEnough | ( | double | x, |
double | y, | ||
double | eps = 1E-6 |
||
) |
Definition at line 64 of file clusterProcessing.cxx.
void o2::mch::collectSeeds | ( | double * | theta, |
o2::mch::Groups_t * | thetaToGroup, | ||
int | K | ||
) |
Definition at line 93 of file clusterProcessing.cxx.
CompressedPads_t * o2::mch::compressPads | ( | const double * | xInf, |
const double * | xSup, | ||
const double * | yInf, | ||
const double * | ySup, | ||
int | N | ||
) |
Definition at line 401 of file mathieson.cxx.
int o2::mch::compressSameValues | ( | const double * | x1, |
const double * | x2, | ||
int * | map1, | ||
int * | map2, | ||
int | N, | ||
double * | xCompress | ||
) |
Definition at line 327 of file mathieson.cxx.
void o2::mch::compute1DMathieson | ( | const double * | xy, |
int | N, | ||
int | axe, | ||
int | chamberId, | ||
double | mathieson[] | ||
) |
Definition at line 263 of file mathieson.cxx.
void o2::mch::compute1DPadIntegrals | ( | const double * | xInf, |
const double * | xSup, | ||
int | N, | ||
int | axe, | ||
int | chamberId, | ||
double | Integrals[] | ||
) |
void o2::mch::compute1DPadIntegrals | ( | const double * | xyInf, |
const double * | xySup, | ||
int | N, | ||
double | xy0, | ||
int | axe, | ||
int | chamberId, | ||
double * | integrals | ||
) |
Definition at line 287 of file mathieson.cxx.
void o2::mch::compute1DPadIntegrals | ( | const double * | xyInf, |
const double * | xySup, | ||
int | N, | ||
int | axe, | ||
int | chamberId, | ||
double * | Integrals | ||
) |
Definition at line 296 of file mathieson.cxx.
void o2::mch::compute2DMathiesonMixturePadIntegrals | ( | const double * | xyInfSup0, |
const double * | theta, | ||
int | N, | ||
int | K, | ||
int | chamberId, | ||
double | Integrals[] | ||
) |
Definition at line 600 of file mathieson.cxx.
void o2::mch::compute2DPadIntegrals | ( | const double * | xInf, |
const double * | xSup, | ||
const double * | yInf, | ||
const double * | ySup, | ||
int | N, | ||
int | chamberId, | ||
double | Integrals[] | ||
) |
Definition at line 470 of file mathieson.cxx.
double o2::mch::computeChiSquare | ( | const Pads & | pads, |
const double * | qPredictedPads, | ||
int | iStart, | ||
int | iEnd | ||
) |
Definition at line 228 of file poissonEM.cxx.
std::pair< double, double > o2::mch::computeChiSquare | ( | const Pads & | pads, |
const double * | qPredictedPads, | ||
int | N | ||
) |
Definition at line 242 of file poissonEM.cxx.
Definition at line 898 of file mathieson.cxx.
void o2::mch::computeCompressed2DPadIntegrals | ( | CompressedPads_t * | compressedPads, |
double | xShift, | ||
double | yShift, | ||
int | N, | ||
int | chamberId, | ||
double | Integrals[] | ||
) |
Definition at line 427 of file mathieson.cxx.
Definition at line 673 of file mathieson.cxx.
Definition at line 766 of file mathieson.cxx.
void o2::mch::computeSplineCoef | ( | const double * | xy, |
double | xyStep, | ||
const double * | f, | ||
int | N, | ||
double | leftDerivative, | ||
double | rightDerivative, | ||
SplineCoef * | splineCoef | ||
) |
Definition at line 145 of file mathieson.cxx.
Definition at line 1038 of file mathieson.cxx.
Definition at line 1057 of file mathieson.cxx.
DigitFilter o2::mch::createBadChannelFilter | ( | const StatusMap & | statusMap, |
uint32_t | statusMask | ||
) |
Definition at line 111 of file DigitFilter.cxx.
void o2::mch::createCommonVolumes | ( | ) |
Build the identical volumes (constant shapes, dimensions, ...) shared by many elements
Definition at line 172 of file Station345Geometry.cxx.
void o2::mch::createDaughterBoard | ( | ) |
Create all the elements in a daughter board
Definition at line 139 of file Station1Geometry.cxx.
DigitFilter o2::mch::createDigitFilter | ( | uint32_t | minADC, |
bool | rejectBackground, | ||
bool | selectSignal, | ||
const StatusMap & | statusMap = {} , |
||
uint32_t | statusMask = 0 |
||
) |
Definition at line 129 of file DigitFilter.cxx.
Create the non-sensitive elements of the frame for the chamber
Model and notation:
The Quadrant volume name starts with SQ
The volume segments are numbered 00 to XX
OutTopFrame
(SQ02-16)
---------—
OutEdgeFrame / |
(SQ17-24) / | InVFrame (SQ00-01)
/ |
| |
OutVFrame | _- -
(SQ25-39) | | InArcFrame (SQ42-45)
| |
----------—
InHFrame (SQ40-41)
06 February 2003 - Overlapping volumes resolved.
One quarter chamber is comprised of three TUBS volumes: SQMx, SQNx, and SQFx, where SQMx is the Quadrant Middle layer for chamber chamber ( z in [-3.25,3.25]), SQNx is the Quadrant Near side layer for chamber chamber ( z in [-6.25,3-.25) ), and SQFx is the Quadrant Far side layer for chamber chamber ( z in (3.25,6.25] ).
Volume thicknesses
Frame Structure (OutVFrame):
OutTopFrame - 3 components (a cuboid and 2 trapezes) and 2 layers (Epoxy/Inox)
Place volumes in the quadrant
Lateral positionners
InHFrame
Definition at line 217 of file Station1Geometry.cxx.
void o2::mch::createFrames | ( | ) |
Polygon shape frames
Definition at line 190 of file Station2Geometry.cxx.
void o2::mch::createHole | ( | ) |
Create all the elements found inside a foam hole
Definition at line 126 of file Station1Geometry.cxx.
void o2::mch::createInnerLayers | ( | ) |
Create the layer of sensitive volumes with gas and the copper layer. The shape of the sensitive area is defined as an extruded solid substracted with tube (to get inner circular shape).
Definition at line 155 of file Station1Geometry.cxx.
ROFFilter o2::mch::createIRFrameFilter | ( | gsl::span< const o2::dataformats::IRFrame > | irframes | ) |
Returns a ROFRecord filter that selects ROFs that overlap one of the given IRFrame.
The returned filter is a function that takes a ROFRecord and returns a boolean.
irframes | : the IRFrames (intervals of interaction records) used to select ROFs |
Definition at line 20 of file IRFrameFilter.cxx.
void o2::mch::createMaterials | ( | ) |
Create all the materials needed to build the MCH geometry
Tracking gas : Ar 80% + CO2 20%
Carbon
Nomex : C14 H10 N2 O2 (changed w.r.t AliMUONCommonGeometryBuilder)
Noryl 731 (ALICE-INT-2002-17) : C8 H8 O
Copper
FR4 : O292 Si68 C462 H736 (from AliRoot)
Rohacell : C9 H13 N1 O2
Glue (Araldite 2011, ALICE-INT-2002-17) : C10 H25 N3
Plastic (definition taken from AliMUONSt1GeometryBuilder)
Epoxy : C18 H19 O3 (to be confirmed)
Stainless steel : Fe(73%) Cr(18%) Ni(9%)
Aluminium
Definition at line 91 of file Materials.cxx.
Returns a basic ROFRecord filter that selects ROFs with a minimum number of entries.
The returned filter is a function that takes a ROFRecord and returns a boolean.
minMultiplicity |
Definition at line 32 of file MultiplicityFilter.h.
void o2::mch::createPCBs | ( | ) |
Build the different PCB types
A PCB is a pile-up of several material layers, from in to out : sensitive gas, cathode and insulator There are two types of cathodes : a "bending" and a "non-bending" one. We build the PCB volume such that the bending side faces the IP (z>0 in the local frame). When placing the slat on the half-chambers, the builder grabs the rotation to apply from the JSON. By doing so, we make sure that we match the mapping convention
place all the layers in the PCB
Definition at line 192 of file Station345Geometry.cxx.
TGeoVolume * o2::mch::createPlaneSegment | ( | int | iSegment, |
float | halfLength, | ||
float | halfHeight, | ||
int | nHoles | ||
) |
create a plane segment (this includes a foam layer, holes in the foam to feed the kaptons through, kapton connectors and the mother board)
Definition at line 1242 of file Station1Geometry.cxx.
TGeoVolume * o2::mch::createQuadrant | ( | ) |
Create a quadrant, a volume assembly containing all the different elements, identical for each chamber
Definition at line 320 of file Station2Geometry.cxx.
TGeoVolumeAssembly * o2::mch::createQuadrant | ( | int | chamber | ) |
create the quadrant (bending and non-bending planes) for the given chamber
Definition at line 1448 of file Station1Geometry.cxx.
createROFFilter returns a filter that is the AND of the filters in vector.
Definition at line 16 of file ROFFilter.cxx.
TGeoVolume * o2::mch::createSegment | ( | int | i | ) |
Function creating a segment for the quadrant volume A segment is a pile-up of layers defining the detection area: gas + PCB (cathode + insulator) + rohacell + mech. exit board + eff. electronic exit board
Definition at line 101 of file Station2Geometry.cxx.
void o2::mch::createSlats | ( | ) |
Slat building function The different PCB types must have been built before calling this function !!!
Definition at line 358 of file Station345Geometry.cxx.
void o2::mch::createSpacer | ( | ) |
The spacer volumes are defined according to the input prepared by Nicole Williswith modifications needed to fit into existing geometry.
No. Type Material Center (mm) Dimensions (mm) (half lengths) 5 BOX EPOXY 408.2 430.4 522.41 5.75 1.5 25.5 5P BOX EPOXY 408.2 445.4 522.41 5.75 1.5 25.5 6 BOX EPOXY 408.2 437.9 519.76 5.75 15.0 1.0 6P BOX EPOXY 408.2 437.9 525.06 5.75 15.0 1.0 7 CYL INOX 408.2 437.9 522.41 r=3.0 hz=20.63
To fit in existing volumes the volumes 5 and 7 are represented by 2 volumes with half size in z (5A, 7A); the dimensions of the volume 5A were also modified to avoid overlaps (x made smaller, y larger to obtain the identical volume)
Definition at line 194 of file Station1Geometry.cxx.
void o2::mch::createStation1Geometry | ( | TGeoVolume & | topVolume | ) |
Definition at line 1536 of file Station1Geometry.cxx.
void o2::mch::createStation2Geometry | ( | TGeoVolume & | topVolume | ) |
Create the geometry of the station 2
Definition at line 369 of file Station2Geometry.cxx.
void o2::mch::createStation345Geometry | ( | TGeoVolume & | topVolume | ) |
Main function which build and place the slats and the half-chambers volumes This function must be called by the MCH detector class to build the slat stations geometry.
Definition at line 738 of file Station345Geometry.cxx.
void o2::mch::createSupportPanels | ( | ) |
Function building the half-chamber support panels (one different per chamber)
Definition at line 564 of file Station345Geometry.cxx.
ROFFilter o2::mch::createTrackableFilter | ( | gsl::span< const T > | items, |
std::array< bool, 5 > | requestStation = {true, true, true, true, true} , |
||
bool | moreCandidates = false |
||
) |
Returns a ROFRecord filter that selects ROFs that are trackable.
The returned filter is a function that takes a ROFRecord and returns a boolean.
items | : the items "pointed to" by the ROFRecords (digits, ...) |
requestStation | : isTrackable |
moreCandidates | : isTrackable |
the type of the items pointed to by the ROFRecords |
Definition at line 39 of file TrackableFilter.h.
std::pair< uint32_t, uint32_t > o2::mch::decode | ( | uint64_t | x | ) |
Definition at line 26 of file ErrorMap.cxx.
void o2::mch::deleteCompressedPads | ( | CompressedPads_t * | compressedPads | ) |
Definition at line 417 of file mathieson.cxx.
|
inline |
Definition at line 524 of file mathUtil.h.
Definition at line 532 of file mathUtil.h.
Definition at line 540 of file mathUtil.h.
void o2::mch::dump | ( | std::ostream & | os, |
const o2::mch::TrackMCH & | t | ||
) |
Definition at line 30 of file TrackDumperSpec.cxx.
uint64_t o2::mch::encode | ( | uint32_t | a, |
uint32_t | b | ||
) |
Definition at line 19 of file ErrorMap.cxx.
|
constexpr |
void o2::mch::fastIterateEMPoisson | ( | const double * | Cij, |
const double * | Ci, | ||
const double * | qPixels, | ||
const double * | qPad, | ||
double * | qPadPrediction, | ||
int | nPixels, | ||
int | nPads, | ||
double * | newQPixels | ||
) |
Definition at line 137 of file poissonEM.cxx.
void o2::mch::fastIterateEMPoissonV0 | ( | const double * | Cij, |
const double * | Ci, | ||
const double * | qPixels, | ||
const double * | qPad, | ||
double * | qPadPrediction, | ||
int | nPixels, | ||
int | nPads, | ||
double * | newQPixels | ||
) |
Definition at line 84 of file poissonEM.cxx.
|
inline |
find a pad with a position (x,y) and a charge >= minCharge in the array of pads return an iterator to the pad or throw an exception if no pad is found
Definition at line 110 of file PadOriginal.h.
void o2::mch::fitMathieson | ( | const Pads & | iPads, |
double * | thetaInit, | ||
int | kInit, | ||
int | dimOfParameters, | ||
int | axe, | ||
int | mode, | ||
double * | thetaFinal, | ||
double * | khi2, | ||
double * | pError | ||
) |
Definition at line 948 of file mathiesonFit.cxx.
o2::framework::DataProcessorSpec o2::mch::getAlignmentSpec | ( | bool | disableCCDB = false | ) |
Definition at line 899 of file AlignmentSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getAlignRecordSpec | ( | bool | useMC, |
bool | disableCCDB = false |
||
) |
Definition at line 334 of file AlignRecordSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getClusterFinderGEMSpec | ( | const char * | specName | ) |
Definition at line 339 of file ClusterFinderGEMSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getClusterFinderOriginalSpec | ( | const char * | specName = "mch-cluster-finder-original" | ) |
Definition at line 194 of file ClusterFinderOriginalSpec.cxx.
DataProcessorSpec o2::mch::getClusterReaderSpec | ( | bool | useMC, |
const char * | specName = "mch-cluster-reader" , |
||
bool | global = true , |
||
bool | digits = false |
||
) |
Definition at line 106 of file ClusterReaderSpec.cxx.
DataProcessorSpec o2::mch::getClusterTransformerSpec | ( | const char * | specName = "mch-cluster-transformer" , |
bool | disableCcdb = false |
||
) |
Definition at line 128 of file ClusterTransformerSpec.cxx.
DataProcessorSpec o2::mch::getClusterWriterSpec | ( | bool | useMC, |
const char * | specName = "mch-cluster-writer" , |
||
bool | global = true , |
||
bool | digits = true |
||
) |
Definition at line 31 of file ClusterWriterSpec.cxx.
const double * o2::mch::getConstDX | ( | const double * | xyDxy, |
int | N | ||
) |
Definition at line 1013 of file mathieson.cxx.
const double * o2::mch::getConstDY | ( | const double * | xyDxy, |
int | N | ||
) |
Definition at line 1014 of file mathieson.cxx.
const double * o2::mch::getConstMuAndW | ( | const double * | theta, |
int | K | ||
) |
Definition at line 1000 of file mathieson.cxx.
const double * o2::mch::getConstMuX | ( | const double * | theta, |
int | K | ||
) |
Definition at line 997 of file mathieson.cxx.
const double * o2::mch::getConstMuY | ( | const double * | theta, |
int | K | ||
) |
Definition at line 998 of file mathieson.cxx.
const double * o2::mch::getConstVarX | ( | const double * | theta, |
int | K | ||
) |
Definition at line 989 of file mathieson.cxx.
const double * o2::mch::getConstVarY | ( | const double * | theta, |
int | K | ||
) |
Definition at line 993 of file mathieson.cxx.
const double * o2::mch::getConstW | ( | const double * | theta, |
int | K | ||
) |
Definition at line 999 of file mathieson.cxx.
const double * o2::mch::getConstX | ( | const double * | xyDxy, |
int | N | ||
) |
Definition at line 1011 of file mathieson.cxx.
const double * o2::mch::getConstXInf | ( | const double * | xyInfSup, |
int | N | ||
) |
Definition at line 1021 of file mathieson.cxx.
const double * o2::mch::getConstXSup | ( | const double * | xyInfSup, |
int | N | ||
) |
Definition at line 1029 of file mathieson.cxx.
const double * o2::mch::getConstY | ( | const double * | xyDxy, |
int | N | ||
) |
Definition at line 1012 of file mathieson.cxx.
const double * o2::mch::getConstYInf | ( | const double * | xyInfSup, |
int | N | ||
) |
Definition at line 1025 of file mathieson.cxx.
const double * o2::mch::getConstYSup | ( | const double * | xyInfSup, |
int | N | ||
) |
Definition at line 1033 of file mathieson.cxx.
framework::DataProcessorSpec o2::mch::getDigitFilteringSpec | ( | bool | useMC, |
std::string_view | specName = "mch-digit-filtering" , |
||
std::string_view | inputDigitDataDescription = "DIGITS" , |
||
std::string_view | outputDigitDataDescription = "F-DIGITS" , |
||
std::string_view | inputDigitRofDataDescription = "DIGITROFS" , |
||
std::string_view | outputDigitRofDataDescription = "F-DIGITROFS" , |
||
std::string_view | inputDigitLabelDataDescription = "DIGITLABELS" , |
||
std::string_view | outputDigitLabelDataDescription = "F-DIGITLABELS" |
||
) |
Definition at line 175 of file DigitFilteringSpec.cxx.
DataProcessorSpec o2::mch::getDigitReaderSpec | ( | bool | useMC, |
std::string_view | specName = "mch-digit-reader" , |
||
std::string_view | outputDigitDataDescription = "DIGITS" , |
||
std::string_view | outputDigitRofDataDescription = "DIGITROFS" , |
||
std::string_view | outputDigitLabelDataDescription = "DIGITLABELS" |
||
) |
Definition at line 198 of file DigitReaderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getDigitWriterSpec | ( | bool | useMC, |
std::string_view | specName = "mch-digit-writer" , |
||
std::string_view | outfile = "mchdigits.root" , |
||
std::string_view | inputDigitDataDescription = "DIGITS" , |
||
std::string_view | inputDigitRofDataDescription = "DIGITROFS" , |
||
std::string_view | inputDigitLabelDataDescription = "DIGITLABELS" |
||
) |
Definition at line 44 of file DigitWriterSpec.cxx.
o2::mch::raw::DsDetId o2::mch::getDsDetId | ( | DsIndex | dsIndex | ) |
getDsDetId converts a unique dual sampa index into a pair (deId,dsId).
Definition at line 90 of file DsIndex.cxx.
DsIndex o2::mch::getDsIndex | ( | const o2::mch::raw::DsDetId & | dsDetId | ) |
getDsIndex returns the unique index of one dual sampa.
Definition at line 79 of file DsIndex.cxx.
TGeoVolume * o2::mch::getDualSampa | ( | ) |
Definition at line 137 of file Station345Geometry.cxx.
double * o2::mch::getDX | ( | double * | xyDxy, |
int | N | ||
) |
Definition at line 1008 of file mathieson.cxx.
double * o2::mch::getDY | ( | double * | xyDxy, |
int | N | ||
) |
Definition at line 1009 of file mathieson.cxx.
DataProcessorSpec o2::mch::getEntropyDecoderSpec | ( | int | verbosity, |
const char * | specName, | ||
unsigned int | sspec | ||
) |
create a processor spec
Definition at line 94 of file EntropyDecoderSpec.cxx.
DataProcessorSpec o2::mch::getEntropyEncoderSpec | ( | const char * | specName, |
bool | selIR | ||
) |
Definition at line 88 of file entropy-encoder-workflow.cxx.
framework::DataProcessorSpec o2::mch::getErrorMergerSpec | ( | const char * | specName, |
bool | preclustering, | ||
bool | clustering, | ||
bool | tracking | ||
) |
Definition at line 84 of file ErrorMergerSpec.cxx.
DataProcessorSpec o2::mch::getErrorReaderSpec | ( | const char * | specName = "mch-error-reader" | ) |
Definition at line 60 of file ErrorReaderSpec.cxx.
DataProcessorSpec o2::mch::getErrorWriterSpec | ( | const char * | specName = "mch-error-writer" | ) |
Definition at line 26 of file ErrorWriterSpec.cxx.
framework::DataProcessorSpec o2::mch::getEventFinderSpec | ( | bool | useMC, |
std::string_view | specName, | ||
std::string_view | inputDigitDataDescription, | ||
std::string_view | outputDigitDataDescription, | ||
std::string_view | inputDigitRofDataDescription, | ||
std::string_view | outputDigitRofDataDescription, | ||
std::string_view | inputDigitLabelDataDescription, | ||
std::string_view | outputDigitLabelDataDescription | ||
) |
Definition at line 103 of file EventFinderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getMCHDigitizerSpec | ( | int | channel, |
bool | mctruth | ||
) |
Definition at line 136 of file MCHDigitizerSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getMCHDigitWriterSpec | ( | bool | mctruth | ) |
Definition at line 31 of file DigitWriterSpec.cxx.
double * o2::mch::getMuAndW | ( | double * | theta, |
int | K | ||
) |
Definition at line 987 of file mathieson.cxx.
double * o2::mch::getMuX | ( | double * | theta, |
int | K | ||
) |
Definition at line 984 of file mathieson.cxx.
double * o2::mch::getMuY | ( | double * | theta, |
int | K | ||
) |
Definition at line 985 of file mathieson.cxx.
o2::framework::DataProcessorSpec o2::mch::getPreClusterFinderSpec | ( | const char * | specName = "PreClusterFinder" , |
std::string_view | inputDigitDataDescription = "F-DIGITS" , |
||
std::string_view | inputDigitRofDataDescription = "TC-F-DIGITROFS" |
||
) |
Definition at line 238 of file PreClusterFinderSpec.cxx.
DataProcessorSpec o2::mch::getPreClusterReaderSpec | ( | bool | useMC, |
const char * | specName = "mch-precluster-reader" |
||
) |
Definition at line 82 of file PreClusterReaderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getPreClusterSinkSpec | ( | const char * | specName | ) |
Definition at line 199 of file PreClusterSinkSpec.cxx.
DataProcessorSpec o2::mch::getPreClusterWriterSpec | ( | bool | useMC, |
const char * | specName = "mch-precluster-writer" |
||
) |
Definition at line 31 of file PreClusterWriterSpec.cxx.
TGeoCompositeShape * o2::mch::getRoundedShape | ( | const char * | name, |
float | halfThickness, | ||
float | xPos, | ||
float | yPos, | ||
float | radius | ||
) |
Function creating a rounded shape by creating a hole in a box (previously created !)
Definition at line 152 of file Station345Geometry.cxx.
std::vector< TGeoVolume * > o2::mch::getStation1SensitiveVolumes | ( | ) |
Create a vector containing the sensitive volume name of the quadrants for the Detector class
Definition at line 1598 of file Station1Geometry.cxx.
std::vector< TGeoVolume * > o2::mch::getStation2SensitiveVolumes | ( | ) |
Create a vector containing the sensitive volume's name of the quadrants for the Detector class
Definition at line 419 of file Station2Geometry.cxx.
std::vector< TGeoVolume * > o2::mch::getStation345SensitiveVolumes | ( | ) |
Create a vector containing the sensitive volume's name of the slats (PCB gas) for the Detector class
Definition at line 719 of file Station345Geometry.cxx.
framework::DataProcessorSpec o2::mch::getStatusMapCreatorSpec | ( | std::string_view | specName = "mch-statusmap-creator" | ) |
Definition at line 173 of file StatusMapCreatorSpec.cxx.
framework::DataProcessorSpec o2::mch::getStatusMapReaderSpec | ( | const char * | specName | ) |
Definition at line 59 of file StatusMapReaderSpec.cxx.
framework::DataProcessorSpec o2::mch::getStatusMapWriterSpec | ( | const char * | specName | ) |
Definition at line 25 of file StatusMapWriterSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTimeClusterFinderSpec | ( | const char * | specName = "mch-time-cluster-finder" , |
std::string_view | inputDigitDataDescription = "F-DIGITS" , |
||
std::string_view | inputDigitRofDataDescription = "F-DIGITROFS" , |
||
std::string_view | outputDigitRofDataDescription = "TC-F-DIGITROFS" , |
||
std::string_view | inputIRFrameDataDescription = "ITS/IRFRAMES" |
||
) |
Definition at line 209 of file TimeClusterFinderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackAtVertexSpec | ( | const char * | specName | ) |
Definition at line 228 of file TrackAtVertexSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackDumperSpec | ( | bool | useMC, |
const char * | specName | ||
) |
Definition at line 77 of file TrackDumperSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackFinderSpec | ( | const char * | specName = "mch-track-finder" , |
bool | computeTime = true , |
||
bool | digits = false , |
||
bool | disableCCDBMagField = false , |
||
bool | original = false |
||
) |
Definition at line 281 of file TrackFinderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackFitterSpec | ( | const char * | specName | ) |
Definition at line 129 of file TrackFitterSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackMCLabelFinderSpec | ( | const char * | specName, |
const char * | digitRofDataDescription, | ||
const char * | digitLabelDataDescription | ||
) |
Definition at line 184 of file TrackMCLabelFinderSpec.cxx.
DataProcessorSpec o2::mch::getTrackReaderSpec | ( | bool | useMC, |
const char * | specName = "mch-tracks-reader" , |
||
bool | digits = false , |
||
uint32_t | subspec = 0 |
||
) |
Definition at line 139 of file TrackReaderSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackSamplerSpec | ( | const char * | specName, |
bool | forTrackFitter | ||
) |
Definition at line 179 of file TrackSamplerSpec.cxx.
o2::framework::DataProcessorSpec o2::mch::getTrackSinkSpec | ( | const char * | specName, |
bool | mchTracks, | ||
bool | tracksAtVtx | ||
) |
Definition at line 211 of file TrackSinkSpec.cxx.
DataProcessorSpec o2::mch::getTrackWriterSpec | ( | bool | useMC, |
const char * | specName = "mch-track-writer" , |
||
const char * | fileName = "mchtracks.root" , |
||
bool | digits = false |
||
) |
Definition at line 31 of file TrackWriterSpec.cxx.
double * o2::mch::getVarX | ( | double * | theta, |
int | K | ||
) |
Definition at line 982 of file mathieson.cxx.
double * o2::mch::getVarY | ( | double * | theta, |
int | K | ||
) |
Definition at line 983 of file mathieson.cxx.
o2::framework::DataProcessorSpec o2::mch::getVertexSamplerSpec | ( | const char * | specName | ) |
Definition at line 113 of file VertexSamplerSpec.cxx.
double * o2::mch::getW | ( | double * | theta, |
int | K | ||
) |
Definition at line 986 of file mathieson.cxx.
double * o2::mch::getX | ( | double * | xyDxy, |
int | N | ||
) |
Definition at line 1006 of file mathieson.cxx.
double * o2::mch::getXInf | ( | double * | xyInfSup, |
int | N | ||
) |
Definition at line 1017 of file mathieson.cxx.
double * o2::mch::getXSup | ( | double * | xyInfSup, |
int | N | ||
) |
Definition at line 1019 of file mathieson.cxx.
double * o2::mch::getY | ( | double * | xyDxy, |
int | N | ||
) |
Definition at line 1007 of file mathieson.cxx.
double * o2::mch::getYInf | ( | double * | xyInfSup, |
int | N | ||
) |
Definition at line 1018 of file mathieson.cxx.
double * o2::mch::getYSup | ( | double * | xyInfSup, |
int | N | ||
) |
Definition at line 1020 of file mathieson.cxx.
void o2::mch::initClusterConfig | ( | ) |
Definition at line 36 of file ClusterConfig.cxx.
Definition at line 73 of file mathieson.cxx.
void o2::mch::initSplineMathiesonPrimitive | ( | ) |
Definition at line 94 of file mathieson.cxx.
std::map< VALUE, KEY > o2::mch::inverseMap | ( | const std::map< KEY, VALUE > & | src | ) |
Definition at line 25 of file DsIndex.cxx.
bool o2::mch::isOK | ( | const SanityError & | error | ) |
Definition at line 18 of file SanityCheck.cxx.
bool o2::mch::isRounded | ( | string | name | ) |
Definition at line 142 of file Station345Geometry.cxx.
bool o2::mch::isShort | ( | string | name | ) |
Definition at line 147 of file Station345Geometry.cxx.
bool o2::mch::isTrackable | ( | std::array< int, 10 > | itemsPerChamber, |
std::array< bool, 5 > | requestStation = {true, true, true, true, true} , |
||
bool | moreCandidates = false |
||
) |
Given a number of items (digits, (pre)clusters) per chamber, decides if there's the minimum required information to get any chance of producing tracks.
itemsPerChamber | integer array containing the number of items per chamber (10 chambers, so 10 integers required) |
requestStation | boolean array to indicate which stations are required for the tracking (by default all 5 are needed) |
moreCandidates | weaker tracking condition where only one item in each of station 4 and 5 is requested (instead of one item per chamber in station 4 and in station 5) |
Definition at line 18 of file Trackable.cxx.
void o2::mch::iterateEMPoisson | ( | const double * | Cij, |
const double * | Ci, | ||
const Mask_t * | maskCij, | ||
const double * | qPixels, | ||
const double * | qPad, | ||
double * | qPadPrediction, | ||
int | nPixels, | ||
int | nPads, | ||
double * | newQPixels | ||
) |
Definition at line 35 of file poissonEM.cxx.
void o2::mch::local2global | ( | geo::TransformationCreator | transformation, |
gsl::span< const Cluster > | localClusters, | ||
std::vector< Cluster, o2::pmr::polymorphic_allocator< Cluster > > & | globalClusters | ||
) |
Definition at line 43 of file ClusterTransformerSpec.cxx.
int o2::mch::main | ( | ) |
Definition at line 180 of file ClusterPEM.cxx.
void o2::mch::maskedCopyTheta | ( | const double * | theta, |
int | K, | ||
const Mask_t * | mask, | ||
int | nMask, | ||
double * | maskedTheta, | ||
int | maskedK | ||
) |
Definition at line 1165 of file mathieson.cxx.
void o2::mch::maskedCopyToXYInfSup | ( | const double * | xyDxy, |
int | ndxyDxy, | ||
const Mask_t * | mask, | ||
int | nMask, | ||
double * | xyDxyMasked, | ||
int | ndxyDxyMasked | ||
) |
Definition at line 1132 of file mathieson.cxx.
void o2::mch::maskedCopyXYdXY | ( | const double * | xyDxy, |
int | nxyDxy, | ||
const Mask_t * | mask, | ||
int | nMask, | ||
double * | xyDxyMasked, | ||
int | nxyDxyMasked | ||
) |
Definition at line 1115 of file mathieson.cxx.
void o2::mch::mathiesonPrimitive | ( | const double * | xy, |
int | N, | ||
int | axe, | ||
int | chamberId, | ||
double | mPrimitive[] | ||
) |
Definition at line 245 of file mathieson.cxx.
gsl_matrix * o2::mch::moore_penrose_pinv | ( | gsl_matrix * | A, |
const realtype | rcond | ||
) |
Compute the (Moore-Penrose) pseudo-inverse of a matrix.
If the singular value decomposition (SVD) of A = U?V? then the pseudoinverse A?? = V???U?, where ? indicates transpose and ??? is obtained by taking the reciprocal of each nonzero element on the diagonal, leaving zeros in place. Elements on the diagonal smaller than rcond
times the largest singular value are considered zero.
@parameter A Input matrix. WARNING: the input matrix A
is destroyed. However, it is still the responsibility of the caller to free it. @parameter rcond A real number specifying the singular value threshold for inclusion. NumPy default for rcond
is 1E-15.
A_pinv
is allocated in this function and it is the responsibility of the caller to free it. Definition at line 100 of file ClusterPEM.cxx.
uint8_t o2::mch::numberOfDualSampaChannels | ( | DsIndex | dsIndex | ) |
get the number of channels for a given dual sampa (will be 64 in most of the cases.
Definition at line 34 of file DsIndex.cxx.
|
inline |
Definition at line 134 of file ChannelCode.h.
Definition at line 38 of file OrbitInfo.cxx.
|
inline |
Definition at line 135 of file ChannelCode.h.
Definition at line 43 of file OrbitInfo.cxx.
std::ostream & o2::mch::operator<< | ( | std::ostream & | os, |
const CTFHeader & | ctf | ||
) |
std::ostream & o2::mch::operator<< | ( | std::ostream & | os, |
const Digit & | d | ||
) |
std::ostream & o2::mch::operator<< | ( | std::ostream & | os, |
const ROFRecord & | rof | ||
) |
Definition at line 23 of file ROFRecord.cxx.
std::ostream & o2::mch::operator<< | ( | std::ostream & | os, |
const TrackMCH & | t | ||
) |
Definition at line 98 of file TrackMCH.cxx.
std::ostream & o2::mch::operator<< | ( | std::ostream & | stream, |
const Cluster & | cluster | ||
) |
Definition at line 25 of file Cluster.cxx.
std::ostream & o2::mch::operator<< | ( | std::ostream & | stream, |
const TrackParamStruct & | trackParam | ||
) |
Definition at line 24 of file TrackBlock.cxx.
|
inline |
Definition at line 137 of file ChannelCode.h.
|
inline |
Definition at line 133 of file ChannelCode.h.
Definition at line 33 of file OrbitInfo.cxx.
|
inline |
Definition at line 136 of file ChannelCode.h.
|
inline |
Definition at line 138 of file ChannelCode.h.
Specialization of perChamber for Digits
Definition at line 56 of file Trackable.cxx.
Specialization of perChamber for integers (representing detection element ids.
Definition at line 45 of file Trackable.cxx.
std::array< int, 10 > o2::mch::perChamber | ( | gsl::span< const T > | items | ) |
Return the number of items per chamber.
T | the type of items : implementation exists so far only for mch::Digit (clusters and pre-clusters to come next) |
std::array< int, 5 > o2::mch::perStation | ( | gsl::span< const T > | items | ) |
Return the number of items per station (1 station==2 chambers).
Definition at line 48 of file Trackable.h.
place the gas and the copper layers for the specified chamber.
Definition at line 1434 of file Station1Geometry.cxx.
std::pair< double, double > o2::mch::PoissonEMLoop | ( | const Pads & | pads, |
Pads & | pixels, | ||
const double * | Cij, | ||
Mask_t * | maskCij, | ||
int | qCutMode, | ||
double | minPadError, | ||
int | nItMax | ||
) |
Definition at line 262 of file poissonEM.cxx.
void o2::mch::print_matrix | ( | const gsl_matrix * | m | ) |
Definition at line 64 of file ClusterPEM.cxx.
Definition at line 35 of file TrackReaderSpec.cxx.
Definition at line 76 of file ClusterPEM.cxx.
Definition at line 98 of file mathUtil.cxx.
Definition at line 86 of file mathUtil.cxx.
Definition at line 62 of file mathUtil.cxx.
Definition at line 74 of file mathUtil.cxx.
Definition at line 872 of file mathiesonFit.cxx.
Definition at line 1075 of file mathieson.cxx.
void o2::mch::printXYdXY | ( | const char * | str, |
const double * | xyDxy, | ||
int | NMax, | ||
int | N, | ||
const double * | val1, | ||
const double * | val2 | ||
) |
Definition at line 1185 of file mathieson.cxx.
void o2::mch::report | ( | const std::map< int, std::vector< int > > & | rejectList, |
uint32_t | statusMask | ||
) |
Definition at line 101 of file DigitFilter.cxx.
SanityError o2::mch::sanityCheck | ( | gsl::span< const ROFRecord > | rofs, |
gsl::span< const T > | items | ||
) |
Definition at line 48 of file SanityCheck.h.
bool o2::mch::shouldUsePad | ( | const PadOriginal & | pad, |
int | plane, | ||
int | statusMask, | ||
bool | matchMask | ||
) |
return true if the pad should be used according to the plane it belongs to, its state and whether its status mask matches (or not) the given mask
Definition at line 32 of file ClusterOriginal.cxx.
size_t o2::mch::size | ( | const StatusMap & | sm | ) |
Definition at line 44 of file StatusMapCreatorSpec.cxx.
void o2::mch::splineMathiesonPrimitive | ( | const double * | x, |
int | N, | ||
int | axe, | ||
int | chamberId, | ||
double * | mPrimitive | ||
) |
Definition at line 196 of file mathieson.cxx.
double o2::mch::Square | ( | double | x | ) |
Definition at line 123 of file Aligner.cxx.
Double_t o2::mch::Square | ( | Double_t | x | ) |
Definition at line 138 of file MchAlignment.cxx.
Definition at line 20 of file mathUtil.cxx.
Definition at line 52 of file mathUtil.cxx.
Definition at line 34 of file mathUtil.cxx.
Definition at line 43 of file mathUtil.cxx.
Definition at line 1090 of file mathieson.cxx.
ClusterConfig o2::mch::clusterConfig |
Definition at line 34 of file ClusterConfig.cxx.
double o2::mch::epsilonGeometry = 1.0e-4 |
Definition at line 44 of file ClusterPEM.cxx.
const string o2::mch::jsonSlatDescription |
Json string describing all the necessary parameters to place the slats in the half-chambers.
Definition at line 762 of file Station345Geometry.cxx.
const float o2::mch::kAAluminium = 26.9815385 |
Definition at line 52 of file Materials.cxx.
const float o2::mch::kAArgon = 39.948 |
Definition at line 61 of file Materials.cxx.
const float o2::mch::kACarbon = 12.0107 |
Definition at line 39 of file Materials.cxx.
const float o2::mch::kAChromium = 51.9961 |
Definition at line 65 of file Materials.cxx.
const float o2::mch::kACopper = 63.546 |
Definition at line 77 of file Materials.cxx.
const float o2::mch::kAHydrogen = 1.00794 |
Definition at line 35 of file Materials.cxx.
const float o2::mch::kAIron = 55.845 |
Definition at line 69 of file Materials.cxx.
const float o2::mch::kANickel = 58.6934 |
Definition at line 73 of file Materials.cxx.
const float o2::mch::kANitrogen = 14.0067 |
Definition at line 44 of file Materials.cxx.
const float o2::mch::kAOxygen = 15.9994 |
Definition at line 48 of file Materials.cxx.
const float o2::mch::kASilicon = 28.0855 |
Definition at line 57 of file Materials.cxx.
const float o2::mch::kBorderHalfHeight = 2.5 |
Definition at line 77 of file Station345Geometry.cxx.
const float o2::mch::kBorderHalfThickness = kGasHalfThickness |
Definition at line 78 of file Station345Geometry.cxx.
const double o2::mch::kBoxSegHalfHeight[kNSegments] = {0.6, 0., 95.5 / 2} |
Definition at line 65 of file Station2Geometry.cxx.
const double o2::mch::kBoxSegHalfLength[kNSegments] = {95.5 / 2, 0., 0.5} |
Definition at line 64 of file Station2Geometry.cxx.
const float o2::mch::kCarbonHalfThickness = 0.02 / 2 |
Definition at line 67 of file Station345Geometry.cxx.
const float o2::mch::kCarbonSupportHalfThickness = 0.03 / 2 |
Support panels.
Definition at line 92 of file Station345Geometry.cxx.
const float o2::mch::kCathodeHalfThickness = 0.005 / 2 |
Definition at line 45 of file Station2Geometry.cxx.
const float o2::mch::kCh5SupportHalfLength = 162. / 2 |
Definition at line 98 of file Station345Geometry.cxx.
const float o2::mch::kCh6SupportHalfLength = 167. / 2 |
Definition at line 99 of file Station345Geometry.cxx.
const double o2::mch::kChamberZPos = {-526.16, -545.24} |
Constants.
Definition at line 41 of file Station1Geometry.cxx.
const int o2::mch::kDaughterCopyNoOffset = 1000 |
Definition at line 115 of file Station1Geometry.cxx.
const char* o2::mch::kDaughterName = "SCDB" |
Definition at line 119 of file Station1Geometry.cxx.
const float o2::mch::kDeemax = -0.3 |
Definition at line 86 of file Materials.cxx.
const float o2::mch::kDeltaFilleEtamX = 1. |
Definition at line 94 of file Station1Geometry.cxx.
const float o2::mch::kDeltaFilleEtamY = 0.051 |
Definition at line 95 of file Station1Geometry.cxx.
const float o2::mch::kDeltaQuadLHC = 2.6 |
Definition at line 107 of file Station1Geometry.cxx.
const float o2::mch::kDensAluminium = 2.699 |
Definition at line 53 of file Materials.cxx.
const float o2::mch::kDensCarbon = 2.265 |
Definition at line 40 of file Materials.cxx.
const float o2::mch::kDensCopper = 8.96 |
Definition at line 78 of file Materials.cxx.
const float o2::mch::kDualSampaHalfHeight = 2.5 |
Definition at line 82 of file Station345Geometry.cxx.
const float o2::mch::kDualSampaHalfLength = 3.2 / 2 |
Definition at line 81 of file Station345Geometry.cxx.
const float o2::mch::kDualSampaHalfThickness = 0.027 / 2 |
Definition at line 83 of file Station345Geometry.cxx.
const float o2::mch::kDualSampaYPos = 0.45 + kSlatPanelHalfHeight + kDualSampaHalfHeight |
Definition at line 84 of file Station345Geometry.cxx.
const double o2::mch::kEERBHalfThickness = 0.04 / 2 |
Definition at line 50 of file Station2Geometry.cxx.
const double o2::mch::kEpoxyHalfThickness = 2. |
Definition at line 97 of file Station2Geometry.cxx.
const float o2::mch::kEpsil = 0.001 |
Tracking parameters (values taken from AliMUONCommonGeometryBuilder)
Definition at line 81 of file Materials.cxx.
const int o2::mch::kFoamBoxNameOffset = 200 |
Definition at line 113 of file Station1Geometry.cxx.
const int o2::mch::kFR4BoxNameOffset = 400 |
Definition at line 114 of file Station1Geometry.cxx.
const double o2::mch::kFrame3Radius[2] = {kSegmentRadius[1], 121.6} |
Definition at line 91 of file Station2Geometry.cxx.
const double o2::mch::kFrame7Radius[2] = {20.6, kSegmentRadius[0]} |
Definition at line 94 of file Station2Geometry.cxx.
const double o2::mch::kFrameHalfHeight[kNFrames] = {2.5 / 2, 0.6, 0., 2., 101. / 2, 2.5 / 2, 0., 0.6} |
Definition at line 70 of file Station2Geometry.cxx.
const double o2::mch::kFrameHalfLength[kNFrames] = {101. / 2, 2., 0., 0.5, 2.7 / 2, 0.5, 0., 2.5 / 2} |
Definition at line 69 of file Station2Geometry.cxx.
const float o2::mch::kFrameOffset = 5.2 |
Definition at line 108 of file Station1Geometry.cxx.
const float o2::mch::kGasHalfHeight = 40. / 2 |
Definition at line 47 of file Station345Geometry.cxx.
const float o2::mch::kGasHalfThickness = 0.25 |
Definition at line 44 of file Station2Geometry.cxx.
const float o2::mch::kGasLength = 40. |
Constants.
Definition at line 46 of file Station345Geometry.cxx.
const float o2::mch::kGlueHalfThickness = 0.004 / 2 |
Definition at line 65 of file Station345Geometry.cxx.
const float o2::mch::kGlueSupportHalfThickness = 0.02 / 2 |
Definition at line 93 of file Station345Geometry.cxx.
const char* o2::mch::kHoleName = "SCHL" |
Definition at line 118 of file Station1Geometry.cxx.
const float o2::mch::kHoriSpacerHalfHeight = 1.95 / 2 |
Definition at line 72 of file Station345Geometry.cxx.
const float o2::mch::kHxBergCopper = 0.25 / 2 |
Definition at line 86 of file Station1Geometry.cxx.
const float o2::mch::kHxBergPlastic = 0.74 / 2 |
Definition at line 84 of file Station1Geometry.cxx.
const float o2::mch::kHxBoxSpacer = 0.51 |
Definition at line 59 of file Station1Geometry.cxx.
const float o2::mch::kHxDaughter = 2.3 / 2 |
Definition at line 90 of file Station1Geometry.cxx.
const float o2::mch::kHxHole = 1.5 / 2 |
Definition at line 82 of file Station1Geometry.cxx.
const float o2::mch::kHxKapton = 0.4 |
Definition at line 88 of file Station1Geometry.cxx.
const float o2::mch::kHyBergCopper = 3.6 / 2 |
Definition at line 87 of file Station1Geometry.cxx.
const float o2::mch::kHyBergPlastic = 5.09 / 2 |
Definition at line 85 of file Station1Geometry.cxx.
const float o2::mch::kHyDaughter = 6.3 / 2 |
Definition at line 91 of file Station1Geometry.cxx.
const float o2::mch::kHyHole = 3. |
Definition at line 83 of file Station1Geometry.cxx.
const float o2::mch::kHyKapton = 5.7 / 2 |
Definition at line 89 of file Station1Geometry.cxx.
const float o2::mch::kHySpacer5A = 0.17 |
Definition at line 60 of file Station1Geometry.cxx.
const float o2::mch::kHySpacer6 = 1.5 |
Definition at line 62 of file Station1Geometry.cxx.
const float o2::mch::kHzBergCopper = 0.1882 / 2 |
Definition at line 54 of file Station1Geometry.cxx.
const float o2::mch::kHzBergPlastic = 0.3062 / 2 |
Definition at line 53 of file Station1Geometry.cxx.
const float o2::mch::kHzDaughter = 0.0156 / 2 |
Definition at line 55 of file Station1Geometry.cxx.
const float o2::mch::kHzFoam = 2.503 / 2 |
Definition at line 48 of file Station1Geometry.cxx.
const float o2::mch::kHzFR4 = 0.062 / 2 |
Definition at line 49 of file Station1Geometry.cxx.
const float o2::mch::kHzGas = 0.42 / 2 |
Definition at line 56 of file Station1Geometry.cxx.
const float o2::mch::kHzKapton = 0.0122 / 2 |
Definition at line 52 of file Station1Geometry.cxx.
const float o2::mch::kHzPadPlane = 0.0148 / 2 |
Definition at line 47 of file Station1Geometry.cxx.
const float o2::mch::kHzSnPb = 0.0091 / 2 |
Definition at line 51 of file Station1Geometry.cxx.
const float o2::mch::kHzSpacer5A = 1.1515 |
Definition at line 61 of file Station1Geometry.cxx.
const float o2::mch::kHzSpacer6 = 0.1 |
Definition at line 63 of file Station1Geometry.cxx.
const float o2::mch::kHzSpacer7A = 0.1 |
Definition at line 65 of file Station1Geometry.cxx.
const float o2::mch::kInsuHalfThickness = kPCBHalfThickness - kCathodeHalfThickness |
Definition at line 47 of file Station2Geometry.cxx.
const float o2::mch::kLateralXPosShift = 92.175 |
Definition at line 98 of file Station1Geometry.cxx.
const float o2::mch::kLateralYPosShift = 5. |
Definition at line 99 of file Station1Geometry.cxx.
const float o2::mch::kLVCableHalfHeight = 2.6 / 2 |
Cables (copper)
Definition at line 88 of file Station345Geometry.cxx.
const float o2::mch::kLVCableHalfThickness = 0.026 / 2 |
Definition at line 89 of file Station345Geometry.cxx.
const float o2::mch::kMaxfd = -20. |
Definition at line 84 of file Materials.cxx.
const double o2::mch::kMEBHalfThickness = 0.04 / 2 |
Definition at line 49 of file Station2Geometry.cxx.
const char* o2::mch::kModuleName = "MCH" |
Definition at line 89 of file Materials.cxx.
const float o2::mch::kMotherIR1 = 18.3 |
Definition at line 72 of file Station1Geometry.cxx.
const float o2::mch::kMotherIR2 = 20.7 |
Definition at line 77 of file Station1Geometry.cxx.
const float o2::mch::kMotherOR1 = 105.673 |
Definition at line 73 of file Station1Geometry.cxx.
const float o2::mch::kMotherOR2 = 100.073 |
Definition at line 78 of file Station1Geometry.cxx.
const float o2::mch::kMotherPhiL = 0. |
Definition at line 68 of file Station1Geometry.cxx.
const float o2::mch::kMotherPhiU = 90. |
Definition at line 69 of file Station1Geometry.cxx.
const float o2::mch::kMotherThick1 = 6.5 / 2 |
Definition at line 74 of file Station1Geometry.cxx.
const float o2::mch::kMotherThick2 = 1.5 |
Definition at line 79 of file Station1Geometry.cxx.
const float o2::mch::kNearFarLHC = 2.4 |
Definition at line 106 of file Station1Geometry.cxx.
const int o2::mch::kNEdges = 5 |
Definition at line 56 of file Station2Geometry.cxx.
const int o2::mch::kNFrames = 8 |
Frames.
Definition at line 68 of file Station2Geometry.cxx.
const float o2::mch::kNomexBulkHalfThickness = 0.025 / 2 |
Definition at line 66 of file Station345Geometry.cxx.
const float o2::mch::kNomexHalfThickness = 0.8 / 2 |
Definition at line 68 of file Station345Geometry.cxx.
const float o2::mch::kNomexSupportHalfThickness = 1.5 / 2 |
Definition at line 94 of file Station345Geometry.cxx.
const int o2::mch::kNPlanes = 2 |
Definition at line 55 of file Station2Geometry.cxx.
const int o2::mch::kNSegments = 3 |
Segments.
Definition at line 59 of file Station2Geometry.cxx.
const float o2::mch::kOffsetX = 1.46 |
Definition at line 92 of file Station1Geometry.cxx.
const float o2::mch::kOffsetY = 0.71 |
Definition at line 93 of file Station1Geometry.cxx.
const float o2::mch::kPadXOffsetBP = 0.50 - 0.63 / 2 |
Definition at line 111 of file Station1Geometry.cxx.
const float o2::mch::kPadYOffsetBP = -0.31 - 0.42 / 2 |
Definition at line 112 of file Station1Geometry.cxx.
const float o2::mch::kPCBHalfHeight = 58. / 2 |
Definition at line 55 of file Station345Geometry.cxx.
const float o2::mch::kPCBHalfThickness = 0.04 / 2 |
Definition at line 46 of file Station2Geometry.cxx.
const float o2::mch::kPCBLength = kGasLength |
Definition at line 51 of file Station345Geometry.cxx.
const map<string, array<int, 4> > o2::mch::kPcbTypes = {{"B1N1", {10, 10, 7, 7}}, {"B2N2-", {5, 5, 4, 3}}, {"B2N2+", {5, 5, 3, 4}}, {"B3-N3", {3, 2, 2, 2}}, {"B3+N3", {2, 3, 2, 2}}, {"R1", {3, 4, 2, 3}}, {"R2", {13, 4, 9, 3}}, {"R3", {13, 1, 10, 0}}, {"S2-", {4, 5, 3, 3}}, {"S2+", {5, 4, 3, 3}}} |
Definition at line 111 of file Station345Geometry.cxx.
const float o2::mch::kPhiTrap = 0. |
Definition at line 103 of file Station1Geometry.cxx.
const char* o2::mch::kQuadrantFLayerName = "SQF" |
Definition at line 122 of file Station1Geometry.cxx.
const char* o2::mch::kQuadrantMFLayerName = "SQMF" |
Definition at line 123 of file Station1Geometry.cxx.
const char* o2::mch::kQuadrantMLayerName = "SQM" |
Definition at line 120 of file Station1Geometry.cxx.
const char* o2::mch::kQuadrantNLayerName = "SQN" |
Definition at line 121 of file Station1Geometry.cxx.
const double o2::mch::kQuadrantZPos = 7.5 / 2 |
Definition at line 44 of file Station1Geometry.cxx.
const float o2::mch::kR1PCBLength = 19.25 |
Definition at line 54 of file Station345Geometry.cxx.
const double o2::mch::kRib3Radius[2] = {kSegmentRadius[1], 120.6} |
Definition at line 92 of file Station2Geometry.cxx.
const double o2::mch::kRib7Radius[2] = {21.6, kSegmentRadius[0]} |
Definition at line 95 of file Station2Geometry.cxx.
const double o2::mch::kRibHalfHeight[kNFrames] |
Definition at line 81 of file Station2Geometry.cxx.
const double o2::mch::kRibHalfLength[kNFrames] |
Definition at line 72 of file Station2Geometry.cxx.
const double o2::mch::kRibHalfThickness = 0.5 |
Definition at line 98 of file Station2Geometry.cxx.
const double o2::mch::kRohaHalfThickness = 2.5 / 2 |
Definition at line 48 of file Station2Geometry.cxx.
const float o2::mch::kRoundedPCBLength = 42.5 |
Definition at line 53 of file Station345Geometry.cxx.
const float o2::mch::kRoundedSpacerHalfLength = 1. |
Definition at line 74 of file Station345Geometry.cxx.
const float o2::mch::kRSpacer7A = 0.3 |
Definition at line 64 of file Station1Geometry.cxx.
const double o2::mch::kSegmentRadius[2] = {23.1, 117.6} |
Definition at line 61 of file Station2Geometry.cxx.
const float o2::mch::kShortPCBLength = 35. |
Definition at line 52 of file Station345Geometry.cxx.
const float o2::mch::kSlatPanelHalfHeight = 42.5 / 2 |
Definition at line 63 of file Station345Geometry.cxx.
Definition at line 114 of file Station345Geometry.cxx.
const float o2::mch::kSpacerHalfThickness = kGasHalfThickness |
Definition at line 71 of file Station345Geometry.cxx.
const float o2::mch::kSt3Radius = 29.5 |
Definition at line 103 of file Station345Geometry.cxx.
const float o2::mch::kSt3RoundedSlatYPos = 37.8 |
Definition at line 107 of file Station345Geometry.cxx.
const float o2::mch::kSt3SupportHalfHeight = 361. / 2 |
Definition at line 95 of file Station345Geometry.cxx.
const float o2::mch::kSt45Radius = 37.5 |
Definition at line 104 of file Station345Geometry.cxx.
const float o2::mch::kSt45RoundedSlatYPos = 38.2 |
Definition at line 108 of file Station345Geometry.cxx.
const float o2::mch::kSt45SupportHalfLength = 260. / 2 |
Definition at line 100 of file Station345Geometry.cxx.
const float o2::mch::kSt4SupportHalfHeight = 530. / 2 |
Definition at line 96 of file Station345Geometry.cxx.
const float o2::mch::kSt5SupportHalfHeight = 570. / 2 |
Definition at line 97 of file Station345Geometry.cxx.
const double o2::mch::kStartAngle = 0. |
Definition at line 53 of file Station2Geometry.cxx.
const float o2::mch::kStemax = -1. |
Definition at line 85 of file Materials.cxx.
const float o2::mch::kStmin = -0.8 |
Definition at line 87 of file Materials.cxx.
const double o2::mch::kStopAngle = 90. |
Definition at line 54 of file Station2Geometry.cxx.
const float o2::mch::kThetaTrap = 0. |
Definition at line 102 of file Station1Geometry.cxx.
Definition at line 50 of file Station1Geometry.cxx.
const float o2::mch::kVertSpacerHalfLength = 2.5 / 2 |
Definition at line 73 of file Station345Geometry.cxx.
const float o2::mch::kZAluminium = 13. |
Definition at line 51 of file Materials.cxx.
const float o2::mch::kZArgon = 18. |
Definition at line 60 of file Materials.cxx.
const float o2::mch::kZCarbon = 6. |
Definition at line 38 of file Materials.cxx.
const float o2::mch::kZChromium = 24. |
Definition at line 64 of file Materials.cxx.
const float o2::mch::kZCopper = 29. |
Definition at line 76 of file Materials.cxx.
const float o2::mch::kZHydrogen = 1. |
Definition of constants for the elements The atomic number and the atomic masse values are taken from the 2016 PDG booklet For the radiation and absorption lengths, we let the Virtual Monte-Carlo compute them internally
Definition at line 34 of file Materials.cxx.
const float o2::mch::kZIron = 26. |
Definition at line 68 of file Materials.cxx.
const float o2::mch::kZNickel = 28. |
Definition at line 72 of file Materials.cxx.
const float o2::mch::kZNitrogen = 7. |
Definition at line 43 of file Materials.cxx.
const float o2::mch::kZOxygen = 8. |
Definition at line 47 of file Materials.cxx.
const float o2::mch::kZSilicon = 14. |
Definition at line 56 of file Materials.cxx.
RootTreeReader::SpecialPublishHook o2::mch::logging |
Definition at line 41 of file TrackReaderSpec.cxx.
int o2::mch::mathiesonType |
Definition at line 37 of file mathieson.cxx.
|
constexpr |
const double o2::mch::pitch1_2 = 0.21 |
Definition at line 31 of file mathieson.cxx.
const double o2::mch::pitch3_10 = 0.25 |
Definition at line 35 of file mathieson.cxx.
SplineCoef* o2::mch::splineCoef[2][2] |
Definition at line 49 of file mathieson.cxx.
double* o2::mch::splineXY = nullptr |
Definition at line 53 of file mathieson.cxx.
const double o2::mch::sqrtK3x1_2 = 0.7000 |
Definition at line 29 of file mathieson.cxx.
const double o2::mch::sqrtK3x3_10 = 0.7131 |
Definition at line 33 of file mathieson.cxx.
const double o2::mch::sqrtK3y1_2 = 0.7550 |
Definition at line 30 of file mathieson.cxx.
const double o2::mch::sqrtK3y3_10 = 0.7642 |
Definition at line 34 of file mathieson.cxx.
int o2::mch::useCache = 0 |
Definition at line 56 of file mathieson.cxx.
int o2::mch::useSpline = 0 |
Definition at line 48 of file mathieson.cxx.