EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
femc_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 femc_studiesProcessor : public JEventProcessor {
21public:
22 femc_studiesProcessor() { SetTypeName(NAME_OF_THIS); }
23
24 void Init() override;
25 // void InitWithGlobalRootLock() override;
26 void Process(const std::shared_ptr<const JEvent>& event) override;
27 // void ProcessSequential(const std::shared_ptr<const JEvent>& event) override;
28 // void FinishWithGlobalRootLock() override;
29 void Finish() override;
30 TDirectory* m_dir_main;
31 // Declare histogram and tree pointers here. e.g.
53
54 bool enableTree = false;
55 TTree* event_tree;
56 const int maxNTowers = 65000;
65
66 bool enableTreeCluster = false;
68 const int maxNCluster = 50;
69 const int maxNMC = 50;
70 int t_mc_N;
71 float* t_mc_E;
72 float* t_mc_Phi;
73 float* t_mc_Eta;
79
81 std::shared_ptr<spdlog::logger> m_log;
82 dd4hep::DDSegmentation::BitFieldCoder* m_decoder;
83 std::string nameSimHits = "EcalEndcapPHits";
84 std::string nameRecHits = "EcalEndcapPRecHits";
85 std::string nameClusters = "EcalEndcapPClusters";
86 std::string nameProtoClusters = "EcalEndcapPIslandProtoClusters";
87 short iLx;
88 short iLy;
89};
Definition femc_studiesProcessor.h:20
short iLy
Definition femc_studiesProcessor.h:88
int t_fEMC_clusters_N
Definition femc_studiesProcessor.h:74
TH3D * hClusterSimNCells_E_eta
Definition femc_studiesProcessor.h:38
TH3D * hRecNClusters_E_eta
Definition femc_studiesProcessor.h:45
const int maxNCluster
Definition femc_studiesProcessor.h:68
TH3D * hClusterNCells_E_eta
Definition femc_studiesProcessor.h:34
TH2D * hCellTSim_layerX
Definition femc_studiesProcessor.h:42
TH2D * hCellESim_layerX
Definition femc_studiesProcessor.h:40
std::shared_ptr< spdlog::logger > m_log
Definition femc_studiesProcessor.h:81
TTree * event_tree
Definition femc_studiesProcessor.h:55
TH2D * hMCEnergyVsEta
Definition femc_studiesProcessor.h:32
TH3D * hRecFClusterEcalib_E_eta
Definition femc_studiesProcessor.h:48
TH3D * hClusterESimcalib_E_phi
Definition femc_studiesProcessor.h:39
int * t_fEMC_towers_cellTrueID
Definition femc_studiesProcessor.h:64
bool enableTree
Definition femc_studiesProcessor.h:54
float * t_mc_Phi
Definition femc_studiesProcessor.h:72
TTree * cluster_tree
Definition femc_studiesProcessor.h:67
float * t_mc_Eta
Definition femc_studiesProcessor.h:73
TH2D * hPosCaloHitsXY
Definition femc_studiesProcessor.h:36
void Finish() override
Definition femc_studiesProcessor.cc:652
short * t_fEMC_towers_clusterIDB
Definition femc_studiesProcessor.h:61
void Init() override
Definition femc_studiesProcessor.cc:46
TH3D * hRecClusterEcalib_Ehigh_eta
Definition femc_studiesProcessor.h:46
short * t_fEMC_towers_clusterIDA
Definition femc_studiesProcessor.h:60
TH2D * hSamplingFractionEta
Definition femc_studiesProcessor.h:52
float * t_fEMC_towers_cellE
Definition femc_studiesProcessor.h:62
TH3D * hClusterEcalib_E_eta
Definition femc_studiesProcessor.h:33
const int maxNTowers
Definition femc_studiesProcessor.h:56
int t_fEMC_towers_N
Definition femc_studiesProcessor.h:57
int t_mc_N
Definition femc_studiesProcessor.h:70
std::string nameProtoClusters
Definition femc_studiesProcessor.h:86
float * t_fEMC_cluster_E
Definition femc_studiesProcessor.h:75
TH3D * hClusterESimcalib_E_eta
Definition femc_studiesProcessor.h:37
short iLx
Definition femc_studiesProcessor.h:87
TH3D * hRecFNClusters_E_eta
Definition femc_studiesProcessor.h:49
TH3D * hRecFClusterEcalib_Ehigh_eta
Definition femc_studiesProcessor.h:50
std::string nameSimHits
Definition femc_studiesProcessor.h:83
TH3D * hClusterEcalib_E_phi
Definition femc_studiesProcessor.h:35
TH3D * hRecFClusterNCells_Ehigh_eta
Definition femc_studiesProcessor.h:51
femc_studiesProcessor()
Definition femc_studiesProcessor.h:22
TH2D * hPosCaloSimHitsXY
Definition femc_studiesProcessor.h:43
float * t_fEMC_cluster_Phi
Definition femc_studiesProcessor.h:77
short * t_fEMC_towers_cellIDx
Definition femc_studiesProcessor.h:58
std::string nameClusters
Definition femc_studiesProcessor.h:85
bool enableTreeCluster
Definition femc_studiesProcessor.h:66
TDirectory * m_dir_main
Definition femc_studiesProcessor.h:30
dd4hep::DDSegmentation::BitFieldCoder * m_decoder
Definition femc_studiesProcessor.h:82
const int maxNMC
Definition femc_studiesProcessor.h:69
int nEventsWithCaloHits
Definition femc_studiesProcessor.h:80
TH3D * hRecClusterEcalib_E_eta
Definition femc_studiesProcessor.h:44
int * t_fEMC_cluster_NCells
Definition femc_studiesProcessor.h:76
short * t_fEMC_towers_cellIDy
Definition femc_studiesProcessor.h:59
TH2D * hCellESim_layerY
Definition femc_studiesProcessor.h:41
float * t_mc_E
Definition femc_studiesProcessor.h:71
float * t_fEMC_towers_cellT
Definition femc_studiesProcessor.h:63
float * t_fEMC_cluster_Eta
Definition femc_studiesProcessor.h:78
void Process(const std::shared_ptr< const JEvent > &event) override
Definition femc_studiesProcessor.cc:249
std::string nameRecHits
Definition femc_studiesProcessor.h:84
TH3D * hRecClusterNCells_Ehigh_eta
Definition femc_studiesProcessor.h:47