PandaRoot
BSEmcPlotMultiHitCluster.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef BSEMCPLOTMULTIHITCLUSTER_HH
14 #define BSEMCPLOTMULTIHITCLUSTER_HH
15 
16 #include <vector>
17 
18 #include "Rtypes.h"
19 #include "RtypesCore.h"
20 #include "TString.h"
21 
22 #include "BSEmcPlotProcess.h"
23 
24 class BSEmc2DMapper;
25 class BSEmcCluster;
26 class BSEmcRecoHit;
27 class TBuffer;
28 class TClass;
29 class TMemberInspector;
30 
40  public:
41  BSEmcPlotMultiHitCluster(BSEmc2DMapper *t_mapper = nullptr);
42  virtual ~BSEmcPlotMultiHitCluster();
43  virtual void RequestDataContainer(PndContainerRegister *t_register) /*override*/;
44  virtual void GetDataContainer(PndContainerRegister *t_register) /*override*/;
45  virtual void Process() /*override*/;
46  virtual void InitHistos(const TString &t_folderprefix) /*override*/;
47 
48  void SetMapper(BSEmc2DMapper *t_mapper) { fMapper = t_mapper; }
49 
50  private:
51  void Create2DHistOfClusterDigis(const BSEmcCluster *t_cluster);
52  std::vector<const BSEmcRecoHit *> GetRecoHitsInCluster(Int_t t_clusterindex);
53  void FillMaxNeighbourEnergyOverCentralEnergy(Int_t t_clusterindex);
54 
55  BSEmc2DMapper *fMapper{nullptr};
56  Int_t fEvent{0};
57  ClassDef(BSEmcPlotMultiHitCluster, 1);
58 };
59 
60 #endif /*BSEMCPLOTMULTIHITCLUSTER_HH*/
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:43
Base Processclass for plotting.
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
virtual void InitHistos(const TString &t_folderprefix)
Plots events where a cluster contains several maxima.
virtual ~BSEmcPlotMultiHitCluster()
a cluster (group of neighboring crystals) of hit emc crystals
Definition: BSEmcCluster.h:66
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Interface class to map DetectorIDs (crystal Ids) to x-y-indices.
Definition: BSEmc2DMapper.h:28
void SetMapper(BSEmc2DMapper *t_mapper)
BSEmcPlotMultiHitCluster(BSEmc2DMapper *t_mapper=nullptr)