R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandMCMon.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#ifndef R3BNEULANDMCMON_H
15#define R3BNEULANDMCMON_H
16
38
39#include "FairTask.h"
40#include "R3BMCTrack.h"
41#include "R3BNeulandPoint.h"
42#include "TCAConnector.h"
43#include <R3BIOConnector.h>
44#include <map>
45
46class TH1D;
47class TH2D;
48class TH3D;
49
50class R3BNeulandMCMon : public FairTask
51{
52 public:
53 R3BNeulandMCMon(const Option_t* option = "");
54
55 ~R3BNeulandMCMon() override = default;
56
57 // No copy and no move is allowed (Rule of three/five)
58 R3BNeulandMCMon(const R3BNeulandMCMon&) = delete; // copy constructor
59 R3BNeulandMCMon(R3BNeulandMCMon&&) = delete; // move constructor
60 R3BNeulandMCMon& operator=(const R3BNeulandMCMon&) = delete; // copy assignment
61 R3BNeulandMCMon& operator=(R3BNeulandMCMon&&) = delete; // move assignment
62
63 protected:
64 InitStatus Init() override;
65 void Finish() override;
66
67 public:
68 void Exec(Option_t*) override;
69
70 private:
73
77
79
80 TH1D* fhPDG;
84 TH1D* fhErelMC;
85 TH1D* fhEtot;
90 TH1D* fhMCToF;
91 TH1D* fhnNPNIPs;
98 std::map<Int_t, TH1D*> fhmEPdg;
99 std::map<Int_t, TH1D*> fhmEtotPdg;
100 std::map<Int_t, TH1D*> fhmEtotPdgRel;
101
102 std::map<Int_t, TH1D*> fhmEnergyByProductPdg;
103 std::map<Int_t, TH1D*> fhmCountByProductPdg;
104 std::map<std::string, TH1D*> fhmEnergyByProductPdgReduced;
105 std::map<std::string, TH1D*> fhmCountByProductPdgReduced;
106 std::map<Int_t, TH2D*> fhmElossVSLightLogPdg;
107 std::map<TString, TH1D*> fhmEnergyByReaction;
108 std::map<TString, std::map<Int_t, TH1D*>> fhmmEnergyByReactionByProductPdg;
114
115 TH3D* fh3;
116 TH3D* fh3PNIP;
117
118 ClassDefOverride(R3BNeulandMCMon, 0)
119};
120
121#endif // R3BNEULANDMCMON_H
R3B::InputVectorConnector< R3BNeulandPoint > fPrimaryNeutronInteractionPoints
std::map< Int_t, TH1D * > fhmCountByProductPdg
R3B::InputVectorConnector< R3BNeulandPoint > fNeulandPoints
std::map< std::string, TH1D * > fhmCountByProductPdgReduced
std::map< TString, std::map< Int_t, TH1D * > > fhmmEnergyByReactionByProductPdg
std::map< Int_t, TH1D * > fhmEtotPdg
std::map< std::string, TH1D * > fhmEnergyByProductPdgReduced
R3BNeulandMCMon & operator=(R3BNeulandMCMon &&)=delete
R3BNeulandMCMon & operator=(const R3BNeulandMCMon &)=delete
R3BNeulandMCMon(const Option_t *option="")
~R3BNeulandMCMon() override=default
R3BNeulandMCMon(R3BNeulandMCMon &&)=delete
std::map< Int_t, TH1D * > fhmEtotPdgRel
TH1D * fhPrimaryDaughterIDs
void Finish() override
TCAInputConnector< R3BMCTrack > fMCTracks
std::map< TString, TH1D * > fhmEnergyByReaction
std::map< Int_t, TH2D * > fhmElossVSLightLogPdg
void Exec(Option_t *) override
InitStatus Init() override
std::map< Int_t, TH1D * > fhmEnergyByProductPdg
R3BNeulandMCMon(const R3BNeulandMCMon &)=delete
Bool_t fIsFullSimAnaEnabled
TH1D * fhESecondaryNeutrons
std::map< Int_t, TH1D * > fhmEPdg
InputConnector< std::vector< ElementType > > InputVectorConnector