CbmRoot
Loading...
Searching...
No Matches
CbmMuchDigitizerQa Class Reference

#include <CbmMuchDigitizerQa.h>

Inheritance diagram for CbmMuchDigitizerQa:
[legend]
Collaboration diagram for CbmMuchDigitizerQa:
[legend]

Public Member Functions

 CbmMuchDigitizerQa (const char *name="MuchHitFinderQa", Int_t verbose=1)
 
virtual ~CbmMuchDigitizerQa ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *option)
 
virtual void Finish ()
 
virtual void SetParContainers ()
 
TFolder & GetQa ()
 

Private Member Functions

 CbmMuchDigitizerQa (const CbmMuchDigitizerQa &)
 
CbmMuchDigitizerQaoperator= (const CbmMuchDigitizerQa &)
 
void OccupancyQa ()
 
const CbmMuchPadGetPad (UInt_t address) const
 get pad from the digi address
 
void InitChargeHistos ()
 
void InitPadHistos ()
 
void InitLengthHistos ()
 
int InitChannelPadInfo ()
 
void InitFits ()
 
void InitCanvases ()
 
void DeInit ()
 
int CheckConsistency ()
 
int ProcessMCPoints ()
 
void FillTotalPadsHistos ()
 
void FillChargePerPoint ()
 
void FillDigitizerPerformancePlots ()
 
void PrintFrontLayerPoints ()
 
void PrintFrontLayerDigis ()
 
void DrawChargeCanvases ()
 
void DrawPadCanvases ()
 
void DrawLengthCanvases ()
 
void OutputNvsS ()
 
CbmMuchPointInfogetPointInfo (const CbmLink &link)
 map point link -> point info
 

Static Private Member Functions

static Double_t LandauMPV (Double_t *x, Double_t *par)
 
static Double_t MPV_n_e (Double_t Tkin, Double_t mass)
 

Private Attributes

TFolder * histFolder
 
FairRootManager * fManager = nullptr
 folder wich contains histogramms
 
CbmMCDataManagerfMcManager = nullptr
 
CbmTimeSlicefTimeSlice = nullptr
 
CbmMuchGeoSchemefGeoScheme = nullptr
 
Int_t fNstations = 0
 
CbmDigiManagerfDigiManager = nullptr
 
CbmMCDataArrayfPoints = nullptr
 
CbmMCDataArrayfMCTracks = nullptr
 
TClonesArray * fDigis = nullptr
 
TClonesArray * fDigiMatches = nullptr
 
std::map< CbmLink, CbmMuchPointInfofMcPointInfoMap = {}
 
TFolder fOutFolder
 
TParameter< int > fNevents
 output folder with histos and canvases
 
std::vector< TH1F * > fvUsPadsFiredR
 number of processed events
 
std::vector< TH2F * > fvUsPadsFiredXY
 
TH1F * fhTrackCharge = nullptr
 
TH1F * fhTrackChargeLog = nullptr
 MC point charge.
 
TH1F * fhTrackChargePr_1GeV_3mm = nullptr
 MC point charge log scale.
 
TH1F * fhTrackLength = nullptr
 MC point charge for selected protons.
 
TH1F * fhTrackLengthPi = nullptr
 
TH1F * fhTrackLengthPr = nullptr
 
TH1F * fhTrackLengthEl = nullptr
 
TH2F * fhTrackChargeVsTrackEnergyLog = nullptr
 
TH2F * fhTrackChargeVsTrackEnergyLogPi = nullptr
 
TH2F * fhTrackChargeVsTrackEnergyLogPr = nullptr
 
TH2F * fhTrackChargeVsTrackEnergyLogEl = nullptr
 
TH2F * fhTrackChargeVsTrackLength = nullptr
 
TH2F * fhTrackChargeVsTrackLengthPi = nullptr
 
TH2F * fhTrackChargeVsTrackLengthPr = nullptr
 
TH2F * fhTrackChargeVsTrackLengthEl = nullptr
 
TH2F * fhNpadsVsS = nullptr
 
std::vector< TH1F * > fvTrackCharge
 
std::vector< TH1F * > fvPadsTotalR
 
std::vector< TH1F * > fvPadsFiredR
 
std::vector< TH1F * > fvPadOccupancyR
 
CbmQaCanvasfCanvCharge = nullptr
 
CbmQaCanvasfCanvStationCharge = nullptr
 
CbmQaCanvasfCanvChargeVsEnergy = nullptr
 
CbmQaCanvasfCanvChargeVsLength = nullptr
 
CbmQaCanvasfCanvTrackLength = nullptr
 
CbmQaCanvasfCanvNpadsVsArea = nullptr
 
CbmQaCanvasfCanvUsPadsFiredXY = nullptr
 
CbmQaCanvasfCanvPadOccupancyR = nullptr
 
CbmQaCanvasfCanvPadsTotalR = nullptr
 
TF1 * fFitEl = nullptr
 
TF1 * fFitPi = nullptr
 
TF1 * fFitPr = nullptr
 
Int_t fnPadSizesX = 0
 
Int_t fnPadSizesY = 0
 
Double_t fPadMinLx = 0.
 
Double_t fPadMinLy = 0.
 
Double_t fPadMaxLx = 0.
 
Double_t fPadMaxLy = 0.
 

Detailed Description

QA for the MUCH detector after a "digitization" step of the simulation. The class reimplements corresponding QA checks from old CbmMuchHitFinderQa class made by E. Kryshen & V. Singhal & E. Nandy

Definition at line 44 of file CbmMuchDigitizerQa.h.

Constructor & Destructor Documentation

◆ CbmMuchDigitizerQa() [1/2]

CbmMuchDigitizerQa::CbmMuchDigitizerQa ( const char * name = "MuchHitFinderQa",
Int_t verbose = 1 )

Definition at line 74 of file CbmMuchDigitizerQa.cxx.

◆ ~CbmMuchDigitizerQa()

CbmMuchDigitizerQa::~CbmMuchDigitizerQa ( )
virtual

Definition at line 88 of file CbmMuchDigitizerQa.cxx.

References DeInit().

◆ CbmMuchDigitizerQa() [2/2]

CbmMuchDigitizerQa::CbmMuchDigitizerQa ( const CbmMuchDigitizerQa & )
private

Member Function Documentation

◆ CheckConsistency()

◆ DeInit()

◆ DrawChargeCanvases()

◆ DrawLengthCanvases()

void CbmMuchDigitizerQa::DrawLengthCanvases ( )
private

◆ DrawPadCanvases()

void CbmMuchDigitizerQa::DrawPadCanvases ( )
private

◆ Exec()

void CbmMuchDigitizerQa::Exec ( Option_t * option)
virtual

◆ FillChargePerPoint()

◆ FillDigitizerPerformancePlots()

◆ FillTotalPadsHistos()

◆ Finish()

void CbmMuchDigitizerQa::Finish ( )
virtual

Definition at line 1038 of file CbmMuchDigitizerQa.cxx.

References GetQa().

◆ GetPad()

const CbmMuchPad * CbmMuchDigitizerQa::GetPad ( UInt_t address) const
private

get pad from the digi address

Definition at line 673 of file CbmMuchDigitizerQa.cxx.

References fGeoScheme, CbmMuchGeoScheme::GetModuleByDetId(), and CbmMuchModuleGem::GetPad().

Referenced by FillChargePerPoint(), and OccupancyQa().

◆ getPointInfo()

CbmMuchPointInfo & CbmMuchDigitizerQa::getPointInfo ( const CbmLink & link)
inlineprivate

map point link -> point info

Definition at line 114 of file CbmMuchDigitizerQa.h.

References fMcPointInfoMap.

Referenced by FillChargePerPoint().

◆ GetQa()

TFolder & CbmMuchDigitizerQa::GetQa ( )

Prepare Qa output and return it as a reference to an internal folder. The reference is non-const, because FairSink can not write const objects

Definition at line 1027 of file CbmMuchDigitizerQa.cxx.

References DrawChargeCanvases(), DrawLengthCanvases(), DrawPadCanvases(), and fOutFolder.

Referenced by Finish().

◆ Init()

◆ InitCanvases()

◆ InitChannelPadInfo()

int CbmMuchDigitizerQa::InitChannelPadInfo ( )
private

◆ InitChargeHistos()

◆ InitFits()

void CbmMuchDigitizerQa::InitFits ( )
private

Definition at line 544 of file CbmMuchDigitizerQa.cxx.

References fFitEl, fFitPi, fFitPr, and LandauMPV().

Referenced by Init().

◆ InitLengthHistos()

void CbmMuchDigitizerQa::InitLengthHistos ( )
private

◆ InitPadHistos()

◆ LandauMPV()

Double_t CbmMuchDigitizerQa::LandauMPV ( Double_t * x,
Double_t * par )
staticprivate

Definition at line 1086 of file CbmMuchDigitizerQa.cxx.

References MPV_n_e(), and x.

Referenced by InitFits().

◆ MPV_n_e()

Double_t CbmMuchDigitizerQa::MPV_n_e ( Double_t Tkin,
Double_t mass )
staticprivate

Definition at line 1097 of file CbmMuchDigitizerQa.cxx.

References log(), min_logT_e, min_logT_mu, min_logT_p, mpv_e, mpv_mu, and mpv_p.

Referenced by LandauMPV().

◆ OccupancyQa()

void CbmMuchDigitizerQa::OccupancyQa ( )
private

Occupance analysis - all pads,fired pads, and fired/all distributions as functions of radius

Definition at line 683 of file CbmMuchDigitizerQa.cxx.

References fDigiManager, fvUsPadsFiredR, fvUsPadsFiredXY, CbmDigiManager::Get(), CbmMuchDigi::GetAddress(), CbmDigiManager::GetNofDigis(), GetPad(), CbmMuchAddress::GetStationIndex(), CbmMuchPad::GetX(), CbmMuchPad::GetY(), and kMuch.

Referenced by Exec().

◆ operator=()

CbmMuchDigitizerQa & CbmMuchDigitizerQa::operator= ( const CbmMuchDigitizerQa & )
private

◆ OutputNvsS()

void CbmMuchDigitizerQa::OutputNvsS ( )
private

Definition at line 1050 of file CbmMuchDigitizerQa.cxx.

References fhNpadsVsS, and fOutFolder.

◆ PrintFrontLayerDigis()

◆ PrintFrontLayerPoints()

◆ ProcessMCPoints()

◆ SetParContainers()

void CbmMuchDigitizerQa::SetParContainers ( )
virtual

Definition at line 564 of file CbmMuchDigitizerQa.cxx.

Member Data Documentation

◆ fCanvCharge

CbmQaCanvas* CbmMuchDigitizerQa::fCanvCharge = nullptr
private

Definition at line 153 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitCanvases().

◆ fCanvChargeVsEnergy

CbmQaCanvas* CbmMuchDigitizerQa::fCanvChargeVsEnergy = nullptr
private

Definition at line 155 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitCanvases().

◆ fCanvChargeVsLength

CbmQaCanvas* CbmMuchDigitizerQa::fCanvChargeVsLength = nullptr
private

Definition at line 156 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitCanvases().

◆ fCanvNpadsVsArea

CbmQaCanvas* CbmMuchDigitizerQa::fCanvNpadsVsArea = nullptr
private

Definition at line 158 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitCanvases().

◆ fCanvPadOccupancyR

CbmQaCanvas* CbmMuchDigitizerQa::fCanvPadOccupancyR = nullptr
private

Definition at line 160 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitCanvases().

◆ fCanvPadsTotalR

CbmQaCanvas* CbmMuchDigitizerQa::fCanvPadsTotalR = nullptr
private

Definition at line 161 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitCanvases().

◆ fCanvStationCharge

CbmQaCanvas* CbmMuchDigitizerQa::fCanvStationCharge = nullptr
private

Definition at line 154 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitCanvases().

◆ fCanvTrackLength

CbmQaCanvas* CbmMuchDigitizerQa::fCanvTrackLength = nullptr
private

Definition at line 157 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawLengthCanvases(), and InitCanvases().

◆ fCanvUsPadsFiredXY

CbmQaCanvas* CbmMuchDigitizerQa::fCanvUsPadsFiredXY = nullptr
private

Definition at line 159 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitCanvases().

◆ fDigiManager

CbmDigiManager* CbmMuchDigitizerQa::fDigiManager = nullptr
private

◆ fDigiMatches

TClonesArray* CbmMuchDigitizerQa::fDigiMatches = nullptr
private

Definition at line 110 of file CbmMuchDigitizerQa.h.

Referenced by DeInit().

◆ fDigis

TClonesArray* CbmMuchDigitizerQa::fDigis = nullptr
private

Definition at line 109 of file CbmMuchDigitizerQa.h.

Referenced by DeInit().

◆ fFitEl

TF1* CbmMuchDigitizerQa::fFitEl = nullptr
private

Definition at line 163 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitFits().

◆ fFitPi

TF1* CbmMuchDigitizerQa::fFitPi = nullptr
private

Definition at line 164 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitFits().

◆ fFitPr

TF1* CbmMuchDigitizerQa::fFitPr = nullptr
private

Definition at line 165 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawChargeCanvases(), and InitFits().

◆ fGeoScheme

CbmMuchGeoScheme* CbmMuchDigitizerQa::fGeoScheme = nullptr
private

◆ fhNpadsVsS

TH2F* CbmMuchDigitizerQa::fhNpadsVsS = nullptr
private

◆ fhTrackCharge

TH1F* CbmMuchDigitizerQa::fhTrackCharge = nullptr
private

◆ fhTrackChargeLog

TH1F* CbmMuchDigitizerQa::fhTrackChargeLog = nullptr
private

MC point charge.

Definition at line 129 of file CbmMuchDigitizerQa.h.

Referenced by DrawChargeCanvases(), FillDigitizerPerformancePlots(), and InitChargeHistos().

◆ fhTrackChargePr_1GeV_3mm

TH1F* CbmMuchDigitizerQa::fhTrackChargePr_1GeV_3mm = nullptr
private

MC point charge log scale.

Definition at line 130 of file CbmMuchDigitizerQa.h.

Referenced by DrawChargeCanvases(), FillDigitizerPerformancePlots(), and InitChargeHistos().

◆ fhTrackChargeVsTrackEnergyLog

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackEnergyLog = nullptr
private

◆ fhTrackChargeVsTrackEnergyLogEl

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackEnergyLogEl = nullptr
private

◆ fhTrackChargeVsTrackEnergyLogPi

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackEnergyLogPi = nullptr
private

◆ fhTrackChargeVsTrackEnergyLogPr

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackEnergyLogPr = nullptr
private

◆ fhTrackChargeVsTrackLength

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackLength = nullptr
private

◆ fhTrackChargeVsTrackLengthEl

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackLengthEl = nullptr
private

◆ fhTrackChargeVsTrackLengthPi

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackLengthPi = nullptr
private

◆ fhTrackChargeVsTrackLengthPr

TH2F* CbmMuchDigitizerQa::fhTrackChargeVsTrackLengthPr = nullptr
private

◆ fhTrackLength

TH1F* CbmMuchDigitizerQa::fhTrackLength = nullptr
private

MC point charge for selected protons.

Definition at line 132 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawLengthCanvases(), FillDigitizerPerformancePlots(), and InitLengthHistos().

◆ fhTrackLengthEl

TH1F* CbmMuchDigitizerQa::fhTrackLengthEl = nullptr
private

◆ fhTrackLengthPi

TH1F* CbmMuchDigitizerQa::fhTrackLengthPi = nullptr
private

◆ fhTrackLengthPr

TH1F* CbmMuchDigitizerQa::fhTrackLengthPr = nullptr
private

◆ fManager

FairRootManager* CbmMuchDigitizerQa::fManager = nullptr
private

folder wich contains histogramms

Definition at line 97 of file CbmMuchDigitizerQa.h.

Referenced by Init().

◆ fMcManager

CbmMCDataManager* CbmMuchDigitizerQa::fMcManager = nullptr
private

Definition at line 98 of file CbmMuchDigitizerQa.h.

Referenced by Init().

◆ fMcPointInfoMap

std::map<CbmLink, CbmMuchPointInfo> CbmMuchDigitizerQa::fMcPointInfoMap = {}
private

◆ fMCTracks

◆ fNevents

TParameter<int> CbmMuchDigitizerQa::fNevents
private

output folder with histos and canvases

Definition at line 121 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), Exec(), and Init().

◆ fnPadSizesX

Int_t CbmMuchDigitizerQa::fnPadSizesX = 0
private

Definition at line 167 of file CbmMuchDigitizerQa.h.

Referenced by DeInit().

◆ fnPadSizesY

Int_t CbmMuchDigitizerQa::fnPadSizesY = 0
private

Definition at line 168 of file CbmMuchDigitizerQa.h.

Referenced by DeInit().

◆ fNstations

◆ fOutFolder

TFolder CbmMuchDigitizerQa::fOutFolder
private

Definition at line 120 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), GetQa(), Init(), InitCanvases(), and OutputNvsS().

◆ fPadMaxLx

Double_t CbmMuchDigitizerQa::fPadMaxLx = 0.
private

Definition at line 172 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), and InitChannelPadInfo().

◆ fPadMaxLy

Double_t CbmMuchDigitizerQa::fPadMaxLy = 0.
private

Definition at line 173 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), and InitChannelPadInfo().

◆ fPadMinLx

Double_t CbmMuchDigitizerQa::fPadMinLx = 0.
private

Definition at line 170 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), and InitChannelPadInfo().

◆ fPadMinLy

Double_t CbmMuchDigitizerQa::fPadMinLy = 0.
private

Definition at line 171 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), and InitChannelPadInfo().

◆ fPoints

◆ fTimeSlice

CbmTimeSlice* CbmMuchDigitizerQa::fTimeSlice = nullptr
private

Definition at line 99 of file CbmMuchDigitizerQa.h.

Referenced by Init(), PrintFrontLayerPoints(), and ProcessMCPoints().

◆ fvPadOccupancyR

std::vector<TH1F*> CbmMuchDigitizerQa::fvPadOccupancyR
private

Definition at line 150 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitPadHistos().

◆ fvPadsFiredR

std::vector<TH1F*> CbmMuchDigitizerQa::fvPadsFiredR
private

Definition at line 149 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), and InitPadHistos().

◆ fvPadsTotalR

std::vector<TH1F*> CbmMuchDigitizerQa::fvPadsTotalR
private

Definition at line 148 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), FillTotalPadsHistos(), and InitPadHistos().

◆ fvTrackCharge

std::vector<TH1F*> CbmMuchDigitizerQa::fvTrackCharge
private

◆ fvUsPadsFiredR

std::vector<TH1F*> CbmMuchDigitizerQa::fvUsPadsFiredR
private

number of processed events

Definition at line 124 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), InitPadHistos(), and OccupancyQa().

◆ fvUsPadsFiredXY

std::vector<TH2F*> CbmMuchDigitizerQa::fvUsPadsFiredXY
private

Definition at line 125 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), DrawPadCanvases(), InitPadHistos(), and OccupancyQa().

◆ histFolder

TFolder* CbmMuchDigitizerQa::histFolder
private

Definition at line 94 of file CbmMuchDigitizerQa.h.

Referenced by DeInit(), Init(), InitChargeHistos(), InitLengthHistos(), and InitPadHistos().


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