CbmRoot
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 FinishTask ()
 
virtual void SetParContainers ()
 

Static Public Member Functions

static void DivideCanvas2D (TCanvas *c, int nPads)
 

Protected Member Functions

void DigitizerQa ()
 
void OccupancyQa ()
 

Private Member Functions

Int_t GetNChannels (Int_t iStation)
 
Int_t GetNSectors (Int_t iStation)
 
TVector2 GetMinPadSize (Int_t iStation)
 
TVector2 GetMaxPadSize (Int_t iStation)
 
 CbmMuchDigitizerQa (const CbmMuchDigitizerQa &)
 
CbmMuchDigitizerQaoperator= (const CbmMuchDigitizerQa &)
 
void InitCounters ()
 
void InitCanvases ()
 
void InitChargeHistos ()
 
void InitLengthHistos ()
 
void InitPadHistos ()
 
void InitChannelPadInfo ()
 
void InitFits ()
 
void DeInit ()
 
void FillTotalPadsHistos ()
 
void DrawCanvases ()
 
void PrintCounters ()
 
void OutputNvsS ()
 
void UpdateParticleCounters (Int_t stId, Int_t pdgCode, Int_t motherId)
 
void FillChargePerPoint ()
 
void FillDigitizerPerformancePlots ()
 
void PrintFrontLayerPoints ()
 
void PrintFrontLayerDigis ()
 

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
 
CbmMuchGeoSchemefGeoScheme = nullptr
 
Int_t fNstations = 0
 
CbmDigiManagerfDigiManager = nullptr
 
TClonesArray * fPoints = nullptr
 
TClonesArray * fDigis = nullptr
 
TClonesArray * fDigiMatches = nullptr
 
TClonesArray * fMCTracks = nullptr
 
TClonesArray * fPointInfos = nullptr
 
TFolder fOutFolder
 temporary additional information More...
 
Int_t fNevents = 0
 output folder with histos and canvases More...
 
std::vector< TH1F * > fvUsPadsFiredR
 number of processed events More...
 
std::vector< TH2F * > fvUsPadsFiredXY
 
TH1F * fhMcPointCharge = nullptr
 
TH1F * fhMcPointChargeLog = nullptr
 MC point charge. More...
 
TH1F * fhMcPointChargePr_1GeV_3mm
 MC point charge log scale. More...
 
TH1F * fhTrackLength = nullptr
 MC point charge for selected protons. More...
 
TH1F * fhTrackLengthPi = nullptr
 
TH1F * fhTrackLengthPr = nullptr
 
TH1F * fhTrackLengthEl = nullptr
 
TH2F * fhMcPointChargeVsTrackEnergyLog = nullptr
 
TH2F * fhMcPointChargeVsTrackEnergyLogPi = nullptr
 
TH2F * fhMcPointChargeVsTrackEnergyLogPr = nullptr
 
TH2F * fhMcPointChargeVsTrackEnergyLogEl = nullptr
 
TH2F * fhMcPointChargeVsTrackLength = nullptr
 
TH2F * fhMcPointChargeVsTrackLengthPi = nullptr
 
TH2F * fhMcPointChargeVsTrackLengthPr = nullptr
 
TH2F * fhMcPointChargeVsTrackLengthEl = nullptr
 
TH2F * fhNpadsVsS = nullptr
 
std::vector< TH1F * > fvMcPointCharge
 
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 fSignalPoints = 0
 
Int_t fnPadSizesX = 0
 
Int_t fnPadSizesY = 0
 
Int_t * fNall = nullptr
 
Int_t * fNpr = nullptr
 
Int_t * fNpi = nullptr
 
Int_t * fNel = nullptr
 
Int_t * fNmu = nullptr
 
Int_t * fNka = nullptr
 
Int_t * fNprimary = nullptr
 
Int_t * fNsecondary
 
Int_t fPointsTotal = 0
 
Int_t fPointsUnderCounted = 0
 
Int_t fPointsOverCounted = 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 58 of file CbmMuchDigitizerQa.h.

Constructor & Destructor Documentation

◆ CbmMuchDigitizerQa() [1/2]

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

Definition at line 22 of file CbmMuchDigitizerQa.cxx.

◆ ~CbmMuchDigitizerQa()

CbmMuchDigitizerQa::~CbmMuchDigitizerQa ( )
virtual

Definition at line 37 of file CbmMuchDigitizerQa.cxx.

References DeInit().

◆ CbmMuchDigitizerQa() [2/2]

CbmMuchDigitizerQa::CbmMuchDigitizerQa ( const CbmMuchDigitizerQa )
private

Member Function Documentation

◆ DeInit()

void CbmMuchDigitizerQa::DeInit ( )
private

◆ DigitizerQa()

◆ DivideCanvas2D()

void CbmMuchDigitizerQa::DivideCanvas2D ( TCanvas *  c,
int  nPads 
)
static

Definition at line 1001 of file CbmMuchDigitizerQa.cxx.

References sqrt().

◆ DrawCanvases()

◆ Exec()

void CbmMuchDigitizerQa::Exec ( Option_t *  option)
virtual

◆ FillChargePerPoint()

◆ FillDigitizerPerformancePlots()

◆ FillTotalPadsHistos()

◆ FinishTask()

void CbmMuchDigitizerQa::FinishTask ( )
virtual

Definition at line 610 of file CbmMuchDigitizerQa.cxx.

References fOutFolder, OutputNvsS(), and PrintCounters().

◆ GetMaxPadSize()

TVector2 CbmMuchDigitizerQa::GetMaxPadSize ( Int_t  iStation)
private

◆ GetMinPadSize()

TVector2 CbmMuchDigitizerQa::GetMinPadSize ( Int_t  iStation)
private

◆ GetNChannels()

Int_t CbmMuchDigitizerQa::GetNChannels ( Int_t  iStation)
private

◆ GetNSectors()

Int_t CbmMuchDigitizerQa::GetNSectors ( Int_t  iStation)
private

◆ Init()

◆ InitCanvases()

◆ InitChannelPadInfo()

void CbmMuchDigitizerQa::InitChannelPadInfo ( )
private

◆ InitChargeHistos()

◆ InitCounters()

void CbmMuchDigitizerQa::InitCounters ( )
private

◆ InitFits()

void CbmMuchDigitizerQa::InitFits ( )
private

Definition at line 430 of file CbmMuchDigitizerQa.cxx.

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

Referenced by Init().

◆ InitLengthHistos()

void CbmMuchDigitizerQa::InitLengthHistos ( )
private

Definition at line 297 of file CbmMuchDigitizerQa.cxx.

References BINNING_LENGTH, fhTrackLength, fhTrackLengthEl, fhTrackLengthPi, fhTrackLengthPr, histFolder, and i.

Referenced by Init().

◆ InitPadHistos()

◆ LandauMPV()

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

Definition at line 716 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 980 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()

◆ operator=()

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

◆ OutputNvsS()

void CbmMuchDigitizerQa::OutputNvsS ( )
private

Definition at line 637 of file CbmMuchDigitizerQa.cxx.

References fhNpadsVsS, and fOutFolder.

Referenced by FinishTask().

◆ PrintCounters()

void CbmMuchDigitizerQa::PrintCounters ( )
private

Definition at line 671 of file CbmMuchDigitizerQa.cxx.

References fNall, fNel, fNka, fNmu, fNpi, fNpr, fNprimary, fNsecondary, fNstations, and i.

Referenced by FinishTask().

◆ PrintFrontLayerDigis()

◆ PrintFrontLayerPoints()

◆ SetParContainers()

void CbmMuchDigitizerQa::SetParContainers ( )
virtual

Definition at line 451 of file CbmMuchDigitizerQa.cxx.

◆ UpdateParticleCounters()

void CbmMuchDigitizerQa::UpdateParticleCounters ( Int_t  stId,
Int_t  pdgCode,
Int_t  motherId 
)
private

Definition at line 782 of file CbmMuchDigitizerQa.cxx.

References fNall, fNel, fNka, fNmu, fNpi, fNpr, fNprimary, and fNsecondary.

Referenced by DigitizerQa().

Member Data Documentation

◆ fCanvCharge

CbmQaCanvas* CbmMuchDigitizerQa::fCanvCharge = nullptr
private

Definition at line 159 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvChargeVsEnergy

CbmQaCanvas* CbmMuchDigitizerQa::fCanvChargeVsEnergy = nullptr
private

Definition at line 161 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvChargeVsLength

CbmQaCanvas* CbmMuchDigitizerQa::fCanvChargeVsLength = nullptr
private

Definition at line 162 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvNpadsVsArea

CbmQaCanvas* CbmMuchDigitizerQa::fCanvNpadsVsArea = nullptr
private

Definition at line 164 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvPadOccupancyR

CbmQaCanvas* CbmMuchDigitizerQa::fCanvPadOccupancyR = nullptr
private

Definition at line 166 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvPadsTotalR

CbmQaCanvas* CbmMuchDigitizerQa::fCanvPadsTotalR = nullptr
private

Definition at line 167 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvStationCharge

CbmQaCanvas* CbmMuchDigitizerQa::fCanvStationCharge = nullptr
private

Definition at line 160 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvTrackLength

CbmQaCanvas* CbmMuchDigitizerQa::fCanvTrackLength = nullptr
private

Definition at line 163 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fCanvUsPadsFiredXY

CbmQaCanvas* CbmMuchDigitizerQa::fCanvUsPadsFiredXY = nullptr
private

Definition at line 165 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitCanvases().

◆ fDigiManager

CbmDigiManager* CbmMuchDigitizerQa::fDigiManager = nullptr
private

Definition at line 116 of file CbmMuchDigitizerQa.h.

Referenced by FillChargePerPoint(), Init(), OccupancyQa(), and PrintFrontLayerDigis().

◆ fDigiMatches

TClonesArray* CbmMuchDigitizerQa::fDigiMatches = nullptr
private

Definition at line 121 of file CbmMuchDigitizerQa.h.

◆ fDigis

TClonesArray* CbmMuchDigitizerQa::fDigis = nullptr
private

Definition at line 120 of file CbmMuchDigitizerQa.h.

◆ fFitEl

TF1* CbmMuchDigitizerQa::fFitEl = nullptr
private

Definition at line 169 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitFits().

◆ fFitPi

TF1* CbmMuchDigitizerQa::fFitPi = nullptr
private

Definition at line 170 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitFits().

◆ fFitPr

TF1* CbmMuchDigitizerQa::fFitPr = nullptr
private

Definition at line 171 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and InitFits().

◆ fGeoScheme

◆ fhMcPointCharge

TH1F* CbmMuchDigitizerQa::fhMcPointCharge = nullptr
private

◆ fhMcPointChargeLog

TH1F* CbmMuchDigitizerQa::fhMcPointChargeLog = nullptr
private

MC point charge.

Definition at line 134 of file CbmMuchDigitizerQa.h.

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

◆ fhMcPointChargePr_1GeV_3mm

TH1F* CbmMuchDigitizerQa::fhMcPointChargePr_1GeV_3mm
private
Initial value:
=
nullptr

MC point charge log scale.

Definition at line 135 of file CbmMuchDigitizerQa.h.

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

◆ fhMcPointChargeVsTrackEnergyLog

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackEnergyLog = nullptr
private

◆ fhMcPointChargeVsTrackEnergyLogEl

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackEnergyLogEl = nullptr
private

◆ fhMcPointChargeVsTrackEnergyLogPi

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackEnergyLogPi = nullptr
private

◆ fhMcPointChargeVsTrackEnergyLogPr

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackEnergyLogPr = nullptr
private

◆ fhMcPointChargeVsTrackLength

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackLength = nullptr
private

◆ fhMcPointChargeVsTrackLengthEl

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackLengthEl = nullptr
private

◆ fhMcPointChargeVsTrackLengthPi

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackLengthPi = nullptr
private

◆ fhMcPointChargeVsTrackLengthPr

TH2F* CbmMuchDigitizerQa::fhMcPointChargeVsTrackLengthPr = nullptr
private

◆ fhNpadsVsS

TH2F* CbmMuchDigitizerQa::fhNpadsVsS = nullptr
private

◆ fhTrackLength

TH1F* CbmMuchDigitizerQa::fhTrackLength = nullptr
private

MC point charge for selected protons.

Definition at line 138 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), FillDigitizerPerformancePlots(), and InitLengthHistos().

◆ fhTrackLengthEl

TH1F* CbmMuchDigitizerQa::fhTrackLengthEl = nullptr
private

◆ fhTrackLengthPi

TH1F* CbmMuchDigitizerQa::fhTrackLengthPi = nullptr
private

◆ fhTrackLengthPr

TH1F* CbmMuchDigitizerQa::fhTrackLengthPr = nullptr
private

◆ fMCTracks

TClonesArray* CbmMuchDigitizerQa::fMCTracks = nullptr
private

Definition at line 122 of file CbmMuchDigitizerQa.h.

Referenced by DigitizerQa(), and Init().

◆ fNall

Int_t* CbmMuchDigitizerQa::fNall = nullptr
private

Definition at line 177 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNel

Int_t* CbmMuchDigitizerQa::fNel = nullptr
private

Definition at line 180 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNevents

Int_t CbmMuchDigitizerQa::fNevents = 0
private

output folder with histos and canvases

Definition at line 126 of file CbmMuchDigitizerQa.h.

Referenced by DrawCanvases(), and Exec().

◆ fNka

Int_t* CbmMuchDigitizerQa::fNka = nullptr
private

Definition at line 182 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNmu

Int_t* CbmMuchDigitizerQa::fNmu = nullptr
private

Definition at line 181 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fnPadSizesX

Int_t CbmMuchDigitizerQa::fnPadSizesX = 0
private

Definition at line 174 of file CbmMuchDigitizerQa.h.

◆ fnPadSizesY

Int_t CbmMuchDigitizerQa::fnPadSizesY = 0
private

Definition at line 175 of file CbmMuchDigitizerQa.h.

◆ fNpi

Int_t* CbmMuchDigitizerQa::fNpi = nullptr
private

Definition at line 179 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNpr

Int_t* CbmMuchDigitizerQa::fNpr = nullptr
private

Definition at line 178 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNprimary

Int_t* CbmMuchDigitizerQa::fNprimary = nullptr
private

Definition at line 183 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNsecondary

Int_t* CbmMuchDigitizerQa::fNsecondary
private
Initial value:
=
nullptr

Definition at line 184 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters(), PrintCounters(), and UpdateParticleCounters().

◆ fNstations

Int_t CbmMuchDigitizerQa::fNstations = 0
private

◆ fOutFolder

TFolder CbmMuchDigitizerQa::fOutFolder
private

temporary additional information

Definition at line 125 of file CbmMuchDigitizerQa.h.

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

◆ fPadMaxLx

Double_t CbmMuchDigitizerQa::fPadMaxLx = 0.
private

Definition at line 193 of file CbmMuchDigitizerQa.h.

Referenced by InitChannelPadInfo().

◆ fPadMaxLy

Double_t CbmMuchDigitizerQa::fPadMaxLy = 0.
private

Definition at line 194 of file CbmMuchDigitizerQa.h.

Referenced by InitChannelPadInfo().

◆ fPadMinLx

Double_t CbmMuchDigitizerQa::fPadMinLx = 0.
private

Definition at line 191 of file CbmMuchDigitizerQa.h.

Referenced by InitChannelPadInfo().

◆ fPadMinLy

Double_t CbmMuchDigitizerQa::fPadMinLy = 0.
private

Definition at line 192 of file CbmMuchDigitizerQa.h.

Referenced by InitChannelPadInfo().

◆ fPointInfos

TClonesArray* CbmMuchDigitizerQa::fPointInfos = nullptr
private

◆ fPoints

TClonesArray* CbmMuchDigitizerQa::fPoints = nullptr
private

Definition at line 119 of file CbmMuchDigitizerQa.h.

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

◆ fPointsOverCounted

Int_t CbmMuchDigitizerQa::fPointsOverCounted = 0
private

Definition at line 189 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters().

◆ fPointsTotal

Int_t CbmMuchDigitizerQa::fPointsTotal = 0
private

Definition at line 187 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters().

◆ fPointsUnderCounted

Int_t CbmMuchDigitizerQa::fPointsUnderCounted = 0
private

Definition at line 188 of file CbmMuchDigitizerQa.h.

Referenced by InitCounters().

◆ fSignalPoints

Int_t CbmMuchDigitizerQa::fSignalPoints = 0
private

Definition at line 173 of file CbmMuchDigitizerQa.h.

◆ fvMcPointCharge

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

◆ fvPadOccupancyR

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

Definition at line 156 of file CbmMuchDigitizerQa.h.

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

◆ fvPadsFiredR

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

Definition at line 155 of file CbmMuchDigitizerQa.h.

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

◆ fvPadsTotalR

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

Definition at line 154 of file CbmMuchDigitizerQa.h.

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

◆ fvUsPadsFiredR

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

number of processed events

Definition at line 129 of file CbmMuchDigitizerQa.h.

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

◆ fvUsPadsFiredXY

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

Definition at line 130 of file CbmMuchDigitizerQa.h.

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

◆ histFolder

TFolder* CbmMuchDigitizerQa::histFolder
private

Definition at line 91 of file CbmMuchDigitizerQa.h.

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


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