Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:44

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