Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cbmroot
Manage
Activity
Members
Labels
Plan
Wiki
Redmine
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Computing
cbmroot
Commits
490dda2d
Commit
490dda2d
authored
4 years ago
by
Sergey Gorbunov
Browse files
Options
Downloads
Patches
Plain Diff
cleanup of much digi QA
parent
04a5f6bd
No related branches found
No related tags found
1 merge request
!152
cleanup of much digi QA
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
sim/detectors/much/qa/CbmMuchDigitizerQa.cxx
+333
-269
333 additions, 269 deletions
sim/detectors/much/qa/CbmMuchDigitizerQa.cxx
sim/detectors/much/qa/CbmMuchDigitizerQa.h
+33
-33
33 additions, 33 deletions
sim/detectors/much/qa/CbmMuchDigitizerQa.h
with
366 additions
and
302 deletions
sim/detectors/much/qa/CbmMuchDigitizerQa.cxx
+
333
−
269
View file @
490dda2d
This diff is collapsed.
Click to expand it.
sim/detectors/much/qa/CbmMuchDigitizerQa.h
+
33
−
33
View file @
490dda2d
...
@@ -26,6 +26,7 @@ class TCanvas;
...
@@ -26,6 +26,7 @@ class TCanvas;
class
TH1F
;
class
TH1F
;
class
TH2F
;
class
TH2F
;
class
TVector2
;
class
TVector2
;
class
CbmMuchPad
;
/// QA for the MUCH detector after a "digitization" step of the simulation.
/// QA for the MUCH detector after a "digitization" step of the simulation.
/// The class reimplements corresponding QA checks from old CbmMuchHitFinderQa class
/// The class reimplements corresponding QA checks from old CbmMuchHitFinderQa class
...
@@ -38,41 +39,38 @@ public:
...
@@ -38,41 +39,38 @@ public:
virtual
~
CbmMuchDigitizerQa
();
virtual
~
CbmMuchDigitizerQa
();
virtual
InitStatus
Init
();
virtual
InitStatus
Init
();
virtual
void
Exec
(
Option_t
*
option
);
virtual
void
Exec
(
Option_t
*
option
);
virtual
void
Finish
Task
();
virtual
void
Finish
();
virtual
void
SetParContainers
();
virtual
void
SetParContainers
();
protected:
/// Prepare Qa output and return it as a reference to an internal folder.
/* DigitizerQa - analysis of digitizer performance - charge distributions
/// The reference is non-const, because FairSink can not write const objects
* for tracks. Track length distrivutions. Statistics on particle types
TFolder
&
GetQa
();
*/
void
DigitizerQa
();
/* Occupance analysis - all pads,fired pads,
* and fired/all distributions as functions of radius
*/
void
OccupancyQa
();
private:
private:
Int_t
GetNChannels
(
Int_t
iStation
);
CbmMuchDigitizerQa
(
const
CbmMuchDigitizerQa
&
);
Int_t
GetNSectors
(
Int_t
iStation
);
CbmMuchDigitizerQa
&
operator
=
(
const
CbmMuchDigitizerQa
&
);
TVector2
GetMinPadSize
(
Int_t
iStation
);
TVector2
GetMaxPadSize
(
Int_t
iStation
);
static
Double_t
LandauMPV
(
Double_t
*
x
,
Double_t
*
par
);
static
Double_t
LandauMPV
(
Double_t
*
x
,
Double_t
*
par
);
static
Double_t
MPV_n_e
(
Double_t
Tkin
,
Double_t
mass
);
static
Double_t
MPV_n_e
(
Double_t
Tkin
,
Double_t
mass
);
CbmMuchDigitizerQa
(
const
CbmMuchDigitizerQa
&
);
/// Occupance analysis - all pads,fired pads,
CbmMuchDigitizerQa
&
operator
=
(
const
CbmMuchDigitizerQa
&
);
/// and fired/all distributions as functions of radius
///
void
OccupancyQa
();
TFolder
*
histFolder
;
/// get pad from the digi address
const
CbmMuchPad
*
GetPad
(
UInt_t
address
)
const
;
void
InitChargeHistos
();
void
InitChargeHistos
();
void
InitPadHistos
();
void
InitPadHistos
();
void
InitLengthHistos
();
void
InitLengthHistos
();
void
InitChannelPadInfo
();
int
InitChannelPadInfo
();
void
InitFits
();
void
InitFits
();
void
InitCanvases
();
void
InitCanvases
();
void
DeInit
();
void
DeInit
();
int
CheckConsistency
();
int
ProcessMCPoints
();
void
FillTotalPadsHistos
();
void
FillTotalPadsHistos
();
void
FillChargePerPoint
();
void
FillChargePerPoint
();
void
FillDigitizerPerformancePlots
();
void
FillDigitizerPerformancePlots
();
...
@@ -84,6 +82,8 @@ private:
...
@@ -84,6 +82,8 @@ private:
void
DrawLengthCanvases
();
void
DrawLengthCanvases
();
void
OutputNvsS
();
void
OutputNvsS
();
TFolder
*
histFolder
;
/// folder wich contains histogramms
// geometry
// geometry
CbmMuchGeoScheme
*
fGeoScheme
=
nullptr
;
CbmMuchGeoScheme
*
fGeoScheme
=
nullptr
;
Int_t
fNstations
=
0
;
Int_t
fNstations
=
0
;
...
@@ -104,9 +104,9 @@ private:
...
@@ -104,9 +104,9 @@ private:
std
::
vector
<
TH2F
*>
fvUsPadsFiredXY
;
// fired pads vs XY, per station
std
::
vector
<
TH2F
*>
fvUsPadsFiredXY
;
// fired pads vs XY, per station
// output histograms
// output histograms
TH1F
*
fh
McPoint
Charge
=
nullptr
;
/// MC point charge
TH1F
*
fh
Track
Charge
=
nullptr
;
/// MC point charge
TH1F
*
fh
McPoint
ChargeLog
=
nullptr
;
/// MC point charge log scale
TH1F
*
fh
Track
ChargeLog
=
nullptr
;
/// MC point charge log scale
TH1F
*
fh
McPoint
ChargePr_1GeV_3mm
=
TH1F
*
fh
Track
ChargePr_1GeV_3mm
=
nullptr
;
/// MC point charge for selected protons
nullptr
;
/// MC point charge for selected protons
TH1F
*
fhTrackLength
=
nullptr
;
TH1F
*
fhTrackLength
=
nullptr
;
...
@@ -114,17 +114,17 @@ private:
...
@@ -114,17 +114,17 @@ private:
TH1F
*
fhTrackLengthPr
=
nullptr
;
TH1F
*
fhTrackLengthPr
=
nullptr
;
TH1F
*
fhTrackLengthEl
=
nullptr
;
TH1F
*
fhTrackLengthEl
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackEnergyLog
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackEnergyLog
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackEnergyLogPi
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackEnergyLogPi
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackEnergyLogPr
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackEnergyLogPr
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackEnergyLogEl
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackEnergyLogEl
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackLength
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackLength
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackLengthPi
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackLengthPi
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackLengthPr
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackLengthPr
=
nullptr
;
TH2F
*
fh
McPoint
ChargeVsTrackLengthEl
=
nullptr
;
TH2F
*
fh
Track
ChargeVsTrackLengthEl
=
nullptr
;
TH2F
*
fhNpadsVsS
=
nullptr
;
TH2F
*
fhNpadsVsS
=
nullptr
;
std
::
vector
<
TH1F
*>
fv
McPoint
Charge
;
// MC point charge per station
std
::
vector
<
TH1F
*>
fv
Track
Charge
;
// MC point charge per station
std
::
vector
<
TH1F
*>
fvPadsTotalR
;
// number of pads vs R, per station
std
::
vector
<
TH1F
*>
fvPadsTotalR
;
// number of pads vs R, per station
std
::
vector
<
TH1F
*>
fvPadsFiredR
;
// fired pads vs R, per station
std
::
vector
<
TH1F
*>
fvPadsFiredR
;
// fired pads vs R, per station
std
::
vector
<
TH1F
*>
fvPadOccupancyR
;
// pad occupancy vs R, per station
std
::
vector
<
TH1F
*>
fvPadOccupancyR
;
// pad occupancy vs R, per station
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment