Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:13:19

0001 // ----------------------------------------------------------------------------
0002 // 'ReadLambdaJetTreeHistDef.h'
0003 // Derek Anderson
0004 // 03.11.2024
0005 //
0006 // SCorrelatorQAMaker plugin to read lambda-tagged jet
0007 // trees and draw plots and calculate the total no.
0008 // of lambdas.
0009 // ----------------------------------------------------------------------------
0010 
0011 #ifndef SCORRELATORQAMAKER_SREADLAMBDAJETTREEHISTDEF_H
0012 #define SCORRELATORQAMAKER_SREADLAMBDAJETTREEHISTDEF_H
0013 
0014 // make common namespaces implicit
0015 using namespace std;
0016 
0017 
0018 
0019 namespace SColdQcdCorrelatorAnalysis {
0020 
0021   // SReadLambdaJetTreeHistDef definition -------------------------------------
0022 
0023   struct SReadLambdaJetTreeHistDef {
0024 
0025     // histogram base names
0026     vector<string> vecTypeNames = {
0027       "Lam",
0028       "LeadLam",
0029       "LamInMultiJet",
0030       "Jet",
0031       "LamJet",
0032       "LeadLamJet",
0033       "MultiLamJet",
0034       "HighestPtJet"
0035     };
0036     vector<string> vecBaseNames = {
0037       "hEta",
0038       "hEne",
0039       "hPt",
0040       "hDeltaPhi",
0041       "hDeltaEta",
0042       "hDeltaR",
0043       "hFrac",
0044       "hNLam",
0045       "hNCst",
0046       "hPerLam"
0047     };
0048     vector<string> vecVsMods = {
0049       "VsEta",
0050       "VsEne",
0051       "VsPt",
0052       "VsDeltaPhi",
0053       "VsDeltaEta"
0054     };
0055 
0056     // event histogram names and titles
0057     vector<pair<string, string>> vecEvtNameAndTitles = {
0058       make_pair("hNumJet",         ";N_{jet};counts"),
0059       make_pair("hNumTagJet",      ";N_{jet};counts"),
0060       make_pair("hNumLeadLamJet",  ";N_{jet};counts"),
0061       make_pair("hNumMultiLamJet", ";N_{jet};counts"),
0062       make_pair("hNumLambda",      ";N_{#Lambda};counts"),
0063       make_pair("hNumLambdaInJet", ";N_{#Lambda};counts"),
0064       make_pair("hNumLeadLambda",  ";N_{#Lambda};counts")
0065     };
0066 
0067     // no. of histogram binning
0068     size_t nNumBins  = 100;
0069     size_t nFracBins = 500;
0070     size_t nEneBins  = 100;
0071     size_t nEtaBins  = 80;
0072     size_t nDfBins   = 180;
0073     size_t nDhBins   = 160;
0074     size_t nDrBins   = 500;
0075 
0076     // histogram ranges
0077     pair<float, float> rNumBins  = {0.0,   100.};
0078     pair<float, float> rFracBins = {0.0,   5.0};
0079     pair<float, float> rEneBins  = {0.0,   100.};
0080     pair<float, float> rEtaBins  = {-2.0,  2.0};
0081     pair<float, float> rDfBins   = {-3.15, 3.15};
0082     pair<float, float> rDhBins   = {-4.,   4.};
0083     pair<float, float> rDrBins   = {0.0,   5.0};
0084 
0085     // axis definitions
0086     vector<tuple<string, size_t, pair<float, float>>> vecAxisDef = {
0087       make_tuple("#eta",                nEtaBins,  rEtaBins),
0088       make_tuple("E [GeV/c]",           nEneBins,  rEneBins),
0089       make_tuple("p_{T} [GeV/c]",       nEneBins,  rEneBins),
0090       make_tuple("#Delta#varphi",       nDfBins,   rDfBins),
0091       make_tuple("#Delta#eta",          nDhBins,   rDhBins),
0092       make_tuple("#Deltar",             nDrBins,   rDrBins),
0093       make_tuple("z = p / p^{jet}",     nFracBins, rFracBins),
0094       make_tuple("N_{#Lambda}",         nNumBins,  rNumBins),
0095       make_tuple("N_{cst}",             nNumBins,  rNumBins),
0096       make_tuple("N_{#Lambda}/N_{cst}", nFracBins, rFracBins)
0097     };
0098     vector<tuple<string, size_t, pair<float, float>>> vecVsDef = {
0099       make_tuple("#eta",            nEtaBins,  rEtaBins),
0100       make_tuple("E [GeV/c]",       nEneBins,  rEneBins),
0101       make_tuple("p_{T} [GeV/c]",   nEneBins,  rEneBins),
0102       make_tuple("#Delta#varphi",   nDfBins,   rDfBins),
0103       make_tuple("#Delta#eta",      nDhBins,   rDhBins)
0104     };
0105 
0106   };  // end SReadLambdaJetTreeHistDef
0107 
0108   // variables to histogram
0109   struct Hist {
0110     double eta  = -1.;
0111     double ene  = -1.;
0112     double mom  = -1.;
0113     double pt   = -1.;
0114     double df   = -1.;
0115     double dh   = -1.;
0116     double dr   = -1.;
0117     double z    = -1.;
0118     double nlam = -1.;
0119     double ncst = -1.;
0120     double plam = -1.;
0121   };  // end Hist
0122 
0123   // x-axis variables for 2d histograms
0124   struct VsVar {
0125     double eta = -1.;
0126     double ene = -1.;
0127     double mom = -1.;
0128     double pt  = -1.;
0129     double df  = -1.;
0130     double dh  = -1.;
0131   };  // end VsVar
0132 
0133 }  // end SColdQcdCorrelatorAnalysis namespace
0134 
0135 #endif
0136 
0137 // end ------------------------------------------------------------------------
0138