Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:14:23

0001 // ----------------------------------------------------------------------------
0002 // 'TrksInJetQAHist.h'
0003 // Derek Anderson
0004 // 03.25.2024
0005 //
0006 // Configurable parameters for histograms (like binning, etc.)
0007 // for the TrksInJetQA module.
0008 // ----------------------------------------------------------------------------
0009 
0010 #ifndef TRKSINJETSQAHIST_H
0011 #define TRKSINJETSQAHIST_H
0012 
0013 // c++ utilities
0014 #include <string>
0015 #include <utility>
0016 // module utilities
0017 #include "TrksInJetQATypes.h"
0018 
0019 
0020 
0021 // TrksInJetQAHist definition -------------------------------------------------
0022 
0023 struct TrksInJetQAHist {
0024 
0025   enum Var {
0026     Num,
0027     Adc,
0028     ZBin,
0029     PhiBin,
0030     Layer,
0031     PosXY,
0032     PosZ,
0033     PosR,
0034     Phi,
0035     Eta,
0036     Ene,
0037     Qual
0038   };
0039 
0040   // no. of bins
0041   //   - FIXME the phi/z bin binning needs
0042   //     some more thought...
0043   //   - FIXME same with the ADC...
0044   uint32_t nNumBins    = 101;
0045   uint32_t nAdcBins    = 101;
0046   uint32_t nZBinBins   = 101;
0047   uint32_t nPhiBinBins = 101;
0048   uint32_t nLayerBins  = 101;
0049   uint32_t nPosXYBins  = 6000;
0050   uint32_t nPosZBins   = 6000;
0051   uint32_t nPosRBins   = 3000;
0052   uint32_t nPhiBins    = 180;
0053   uint32_t nEtaBins    = 180;
0054   uint32_t nEneBins    = 505;
0055   uint32_t nQualBins   = 22;
0056 
0057   // bin ranges
0058   BinRange rNumBins    = {-0.5, (float) nNumBins + 0.5};
0059   BinRange rAdcBins    = {-0.5, (float) nAdcBins + 0.5};
0060   BinRange rZBinBins   = {-0.5, (float) nZBinBins + 0.5};
0061   BinRange rPhiBinBins = {-0.5, (float) nPhiBinBins + 0.5};
0062   BinRange rLayerBins  = {-0.5, (float) nLayerBins + 0.5};
0063   BinRange rPosXYBins  = {-300., 300.};
0064   BinRange rPosZBins   = {-300., 300.};
0065   BinRange rPosRBins   = {0., 300.};
0066   BinRange rPhiBins    = {-3.15, 3.15};
0067   BinRange rEtaBins    = {-4.0, 4.0};
0068   BinRange rEneBins    = {-0.5, 100.5};
0069   BinRange rQualBins   = {-0.5, 10.5};
0070 
0071   // construct list of binnings
0072   std::vector<BinDef> GetVecHistBins() {
0073 
0074     std::vector<BinDef> vecHistBins = {
0075       std::make_pair(nNumBins,    rNumBins),
0076       std::make_pair(nAdcBins,    rAdcBins),
0077       std::make_pair(nZBinBins,   rZBinBins),
0078       std::make_pair(nPhiBinBins, rPhiBinBins),
0079       std::make_pair(nLayerBins,  rLayerBins),
0080       std::make_pair(nPosXYBins,  rPosXYBins),
0081       std::make_pair(nPosZBins,   rPosZBins),
0082       std::make_pair(nPosRBins,   rPosRBins),
0083       std::make_pair(nPhiBins,    rPhiBins),
0084       std::make_pair(nEtaBins,    rEtaBins),
0085       std::make_pair(nEneBins,    rEneBins),
0086       std::make_pair(nQualBins,   rQualBins)
0087     };
0088     return vecHistBins;
0089 
0090   }  // end 'GetVecHistBins()'
0091 
0092 };  // end TrksInJetQAHist
0093 
0094 #endif
0095 
0096 // end ------------------------------------------------------------------------