Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CentralityReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CentralityReco.h
1 #ifndef CENTRALITY_CENTRALITYRECO_H
2 #define CENTRALITY_CENTRALITYRECO_H
3 
4 #include <fun4all/SubsysReco.h>
5 #include <array>
6 #include <limits>
7 #include <string> // for string, allocator
8 
9 // Forward declarations
10 class CentralityInfo;
11 class PHCompositeNode;
12 class MbdOut;
13 
14 class CentralityReco : public SubsysReco
15 {
16  public:
18  explicit CentralityReco(const std::string &name = "CentralityReco");
19 
21  ~CentralityReco() override = default;
22 
24  int InitRun(PHCompositeNode *) override;
26  int FillCentralityInfo();
27  int FillVars();
29 
31  int process_event(PHCompositeNode *) override;
32  int ResetEvent(PHCompositeNode *) override;
33 
34  // Interface with CDB
35  int Download_centralityDivisions(const std::string &dbfile);
36  int Download_centralityScale(const std::string &dbfile);
37 
38  private:
40 
41  const int NDIVS{100};
42 
43  MbdOut *_mbd_out{nullptr};
44 
46 
47  unsigned int _key{std::numeric_limits<unsigned int>::max()};
48 
49  float _mbd_charge_sum{std::numeric_limits<float>::quiet_NaN()};
50  float _mbd_charge_sum_n{std::numeric_limits<float>::quiet_NaN()};
51  float _mbd_charge_sum_s{std::numeric_limits<float>::quiet_NaN()};
52 
53  double _centrality_scale{std::numeric_limits<double>::quiet_NaN()};
54  std::array<float, 100> _centrality_map{};
55 
56 };
57 
58 #endif