Back to home page

sPhenix code displayed by LXR

 
 

    


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 }