File indexing completed on 2025-08-05 08:15:12
0001 #include "QPileUp.h"
0002 #include <string>
0003
0004 #include "TH3F.h"
0005 #include "TFile.h"
0006 #include "TMath.h"
0007
0008
0009 QPileUp::QPileUp() {
0010 fDebug = 0;
0011 fRho = NULL;
0012 fInnerRadius=1.;
0013 fOutterRadius=2.;
0014 fHalfLength=1.;
0015 fNRadialSteps=1;
0016 fNAzimuthalSteps=1;
0017 fNLongitudinalSteps=1;
0018 fFileNameRoot="rho";
0019 }
0020
0021 QPileUp::~QPileUp() {
0022 }
0023
0024 void QPileUp::Make() {
0025 InitMaps();
0026 SaveMaps();
0027 }
0028
0029 void QPileUp::InitMaps() {
0030 if(fDebug>0) printf("QPileUp is initializing rho map ... ");
0031 if(fDebug>1) {
0032 printf("\nTPC radial axis from %f to %f cm. spanned in %d steps\n",fInnerRadius,fOutterRadius,fNRadialSteps);
0033 printf("TPC longitudinal axis from %f to %f cm. spanned in %d steps\n",-fHalfLength,fHalfLength,fNLongitudinalSteps);
0034 printf("TPC azimuthal axis spanned in %d steps\n",fNAzimuthalSteps);
0035 }
0036 fRho = new TH3F("rho","ChargeDensity [fC/cm^3];Radial [cm];Azimuthal [rad];Longitudinal [cm]",
0037 fNRadialSteps,fInnerRadius,fOutterRadius,
0038 fNAzimuthalSteps,0,TMath::TwoPi(),
0039 fNLongitudinalSteps,-fHalfLength,+fHalfLength);
0040 if(fDebug>0) printf("[DONE]\n");
0041 }
0042
0043 void QPileUp::SaveMaps() {
0044 const char *outputfile= Form("%s_0.root",fFileNameRoot.data());
0045 if(fDebug>0) printf("QPileUp saving maps into %s ... ",outputfile);
0046 TFile *ofile = new TFile(outputfile,"RECREATE");
0047 ofile->WriteObject(fRho,"rho");
0048 ofile->Close();
0049 if(fDebug>0) printf("[DONE]\n");
0050 }