EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
lfhcal_studiesProcessor.h
Go to the documentation of this file.
1// Copyright 2023, Friederike Bock
2// Subject to the terms in the LICENSE file found in the top-level directory.
3//
4// Sections Copyright (C) 2023 Friederike Bock
5// under SPDX-License-Identifier: LGPL-3.0-or-later
6
7#pragma once
8
9#include <DDSegmentation/BitFieldCoder.h>
10#include <JANA/JEventProcessor.h>
11#include <JANA/Utils/JTypeInfo.h>
12#include <TDirectory.h>
13#include <TH2.h>
14#include <TH3.h>
15#include <TTree.h>
16#include <spdlog/logger.h>
17#include <memory>
18#include <string>
19
20class lfhcal_studiesProcessor : public JEventProcessor {
21public:
22 lfhcal_studiesProcessor() { SetTypeName(NAME_OF_THIS); }
23
24 void Init() override;
25 // void InitWithGlobalRootLock() override;
26 // void ProcessSequential(const std::shared_ptr<const JEvent>& event) override;
27 void Process(const std::shared_ptr<const JEvent>& event) override;
28 void Finish() override;
29 // void FinishWithGlobalRootLock() override;
30 TDirectory* m_dir_main;
31 // Declare histogram and tree pointers here. e.g.
61
62 bool enableTree = true;
63 TTree* event_tree;
64 const int maxNTowers = 65000;
74
75 bool enableTreeCluster = true;
76 bool enableECalCluster = true;
78 const int maxNCluster = 50;
79 const int maxNMC = 50;
80 int t_mc_N;
81 float* t_mc_E;
82 float* t_mc_Phi;
83 float* t_mc_Eta;
94
96 bool isLFHCal = true;
97 std::shared_ptr<spdlog::logger> m_log;
98 dd4hep::DDSegmentation::BitFieldCoder* m_decoder;
99 std::string nameSimHits = "LFHCALHits";
100 std::string nameRecHits = "LFHCALRecHits";
101 std::string nameClusters = "LFHCALClusters";
102 std::string nameProtoClusters = "LFHCALIslandProtoClusters";
103 short iPassive;
104 short iLx;
105 short iLy;
106 short iLz;
107};
Definition lfhcal_studiesProcessor.h:20
int * t_lFHCal_cluster_NCells
Definition lfhcal_studiesProcessor.h:86
const int maxNTowers
Definition lfhcal_studiesProcessor.h:64
TH2D * hCellTSim_layerZ
Definition lfhcal_studiesProcessor.h:45
TDirectory * m_dir_main
Definition lfhcal_studiesProcessor.h:30
std::string nameRecHits
Definition lfhcal_studiesProcessor.h:100
bool isLFHCal
Definition lfhcal_studiesProcessor.h:96
lfhcal_studiesProcessor()
Definition lfhcal_studiesProcessor.h:22
short iLy
Definition lfhcal_studiesProcessor.h:105
TH3D * hRecFEmClusterEcalib_E_eta
Definition lfhcal_studiesProcessor.h:57
float * t_lFHCal_towers_cellE
Definition lfhcal_studiesProcessor.h:71
int t_lFHCal_clusters_N
Definition lfhcal_studiesProcessor.h:84
TH3D * hRecNClusters_E_eta
Definition lfhcal_studiesProcessor.h:50
TH2D * hCellESim_layerY
Definition lfhcal_studiesProcessor.h:44
float * t_fEMC_cluster_Phi
Definition lfhcal_studiesProcessor.h:92
void Init() override
Definition lfhcal_studiesProcessor.cc:46
float * t_fEMC_cluster_Eta
Definition lfhcal_studiesProcessor.h:93
int * t_lFHCal_towers_cellTrueID
Definition lfhcal_studiesProcessor.h:73
TH2D * hCellESim_layerX
Definition lfhcal_studiesProcessor.h:43
float * t_lFHCal_cluster_Phi
Definition lfhcal_studiesProcessor.h:87
void Finish() override
Definition lfhcal_studiesProcessor.cc:799
bool enableTree
Definition lfhcal_studiesProcessor.h:62
const int maxNCluster
Definition lfhcal_studiesProcessor.h:78
TH2D * hPosCaloHitsZY
Definition lfhcal_studiesProcessor.h:38
TH2D * hPosCaloHitsZX
Definition lfhcal_studiesProcessor.h:37
int * t_fEMC_cluster_NCells
Definition lfhcal_studiesProcessor.h:91
TH3D * hClusterEcalib_E_phi
Definition lfhcal_studiesProcessor.h:35
TH3D * hRecFNClusters_E_eta
Definition lfhcal_studiesProcessor.h:54
short * t_lFHCal_towers_clusterIDA
Definition lfhcal_studiesProcessor.h:69
const int maxNMC
Definition lfhcal_studiesProcessor.h:79
short iLx
Definition lfhcal_studiesProcessor.h:104
TH2D * hPosCaloSimHitsXY
Definition lfhcal_studiesProcessor.h:46
TH2D * hPosCaloHitsXY
Definition lfhcal_studiesProcessor.h:36
TTree * event_tree
Definition lfhcal_studiesProcessor.h:63
TH3D * hRecClusterEcalib_E_eta
Definition lfhcal_studiesProcessor.h:49
float * t_mc_Eta
Definition lfhcal_studiesProcessor.h:83
short * t_lFHCal_towers_cellIDx
Definition lfhcal_studiesProcessor.h:66
TH3D * hRecFEmNClusters_E_eta
Definition lfhcal_studiesProcessor.h:58
float * t_lFHCal_cluster_Eta
Definition lfhcal_studiesProcessor.h:88
TH2D * hPosCaloSimHitsZX
Definition lfhcal_studiesProcessor.h:47
TH3D * hRecFClusterNCells_Ehigh_eta
Definition lfhcal_studiesProcessor.h:56
TH3D * hClusterSimNCells_E_eta
Definition lfhcal_studiesProcessor.h:40
float * t_mc_Phi
Definition lfhcal_studiesProcessor.h:82
TH2D * hMCEnergyVsEta
Definition lfhcal_studiesProcessor.h:32
int t_lFHCal_towers_N
Definition lfhcal_studiesProcessor.h:65
short * t_lFHCal_towers_clusterIDB
Definition lfhcal_studiesProcessor.h:70
bool enableTreeCluster
Definition lfhcal_studiesProcessor.h:75
int nEventsWithCaloHits
Definition lfhcal_studiesProcessor.h:95
TH3D * hClusterNCells_E_eta
Definition lfhcal_studiesProcessor.h:34
float * t_lFHCal_cluster_E
Definition lfhcal_studiesProcessor.h:85
TH3D * hRecClusterEcalib_Ehigh_eta
Definition lfhcal_studiesProcessor.h:51
void Process(const std::shared_ptr< const JEvent > &event) override
Definition lfhcal_studiesProcessor.cc:305
TTree * cluster_tree
Definition lfhcal_studiesProcessor.h:77
int t_fEMC_clusters_N
Definition lfhcal_studiesProcessor.h:89
TH3D * hRecFEmClusterEcalib_Ehigh_eta
Definition lfhcal_studiesProcessor.h:59
TH2D * hSamplingFractionEta
Definition lfhcal_studiesProcessor.h:60
TH2D * hPosCaloSimHitsZY
Definition lfhcal_studiesProcessor.h:48
TH3D * hRecFClusterEcalib_E_eta
Definition lfhcal_studiesProcessor.h:53
std::string nameClusters
Definition lfhcal_studiesProcessor.h:101
bool enableECalCluster
Definition lfhcal_studiesProcessor.h:76
std::string nameProtoClusters
Definition lfhcal_studiesProcessor.h:102
TH2D * hCellESim_layerZ
Definition lfhcal_studiesProcessor.h:42
short iPassive
Definition lfhcal_studiesProcessor.h:103
TH3D * hClusterESimcalib_E_phi
Definition lfhcal_studiesProcessor.h:41
float * t_fEMC_cluster_E
Definition lfhcal_studiesProcessor.h:90
TH3D * hRecClusterNCells_Ehigh_eta
Definition lfhcal_studiesProcessor.h:52
TH3D * hRecFClusterEcalib_Ehigh_eta
Definition lfhcal_studiesProcessor.h:55
dd4hep::DDSegmentation::BitFieldCoder * m_decoder
Definition lfhcal_studiesProcessor.h:98
int t_mc_N
Definition lfhcal_studiesProcessor.h:80
short iLz
Definition lfhcal_studiesProcessor.h:106
TH3D * hClusterEcalib_E_eta
Definition lfhcal_studiesProcessor.h:33
std::string nameSimHits
Definition lfhcal_studiesProcessor.h:99
float * t_lFHCal_towers_cellT
Definition lfhcal_studiesProcessor.h:72
float * t_mc_E
Definition lfhcal_studiesProcessor.h:81
short * t_lFHCal_towers_cellIDy
Definition lfhcal_studiesProcessor.h:67
std::shared_ptr< spdlog::logger > m_log
Definition lfhcal_studiesProcessor.h:97
TH3D * hClusterESimcalib_E_eta
Definition lfhcal_studiesProcessor.h:39
short * t_lFHCal_towers_cellIDz
Definition lfhcal_studiesProcessor.h:68