2#ifndef CALONTUPLEIZER_ANALYZERS_H
3#define CALONTUPLEIZER_ANALYZERS_H
8#include "ROOT/RVec.hxx"
9#include "edm4hep/CalorimeterHitData.h"
10#include "edm4hep/SimCalorimeterHitData.h"
11#include "edm4hep/ClusterData.h"
12#include "edm4hep/MCParticleData.h"
15#include "TLorentzVector.h"
19namespace CaloNtupleizer{
21void loadGeometry(std::string xmlGeometryPath, std::string readoutName);
27 ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>
operator()(
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
36ROOT::VecOps::RVec<float>
getSimCellID (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
37ROOT::VecOps::RVec<float>
getSimCaloHit_r (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
38ROOT::VecOps::RVec<float>
getSimCaloHit_x (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
39ROOT::VecOps::RVec<float>
getSimCaloHit_y (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
40ROOT::VecOps::RVec<float>
getSimCaloHit_z (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
41ROOT::VecOps::RVec<float>
getSimCaloHit_phi (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
42ROOT::VecOps::RVec<float>
getSimCaloHit_theta (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
43ROOT::VecOps::RVec<float>
getSimCaloHit_eta (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
44ROOT::VecOps::RVec<int>
getSimCaloHit_depth (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in,
const int decodingVal);
45ROOT::VecOps::RVec<float>
getSimCaloHit_energy (
const ROOT::VecOps::RVec<edm4hep::SimCalorimeterHitData>& in);
50ROOT::VecOps::RVec<float>
getCaloHit_x (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
51ROOT::VecOps::RVec<float>
getCaloHit_y (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
52ROOT::VecOps::RVec<float>
getCaloHit_z (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
53ROOT::VecOps::RVec<float>
getCaloHit_phi (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
54ROOT::VecOps::RVec<int>
56ROOT::VecOps::RVec<int>
58ROOT::VecOps::RVec<float>
getCaloHit_theta (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
59ROOT::VecOps::RVec<int>
61ROOT::VecOps::RVec<float>
getCaloHit_eta (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
62ROOT::VecOps::RVec<int>
64ROOT::VecOps::RVec<int>
getCaloHit_layer (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
65ROOT::VecOps::RVec<float>
getCaloHit_energy (
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& in);
69ROOT::VecOps::RVec<float>
getCaloCluster_x (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
70ROOT::VecOps::RVec<float>
getCaloCluster_y (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
71ROOT::VecOps::RVec<float>
getCaloCluster_z (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
72ROOT::VecOps::RVec<float>
getCaloCluster_phi (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
73ROOT::VecOps::RVec<float>
getCaloCluster_theta (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
74ROOT::VecOps::RVec<float>
getCaloCluster_eta (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in);
79ROOT::VecOps::RVec<std::vector<float>>
getCaloCluster_energyInLayers (
const ROOT::VecOps::RVec<edm4hep::ClusterData>& in,
const ROOT::VecOps::RVec<edm4hep::CalorimeterHitData>& cells,
const int nLayers=12);
95 ROOT::RVecF
operator()(
const ROOT::VecOps::RVec<std::vector<float>>& in);
ROOT::VecOps::RVec< int > getCaloCluster_firstCell(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:328
ROOT::VecOps::RVec< float > getSimCaloHit_eta(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:89
ROOT::VecOps::RVec< float > getSimCaloHit_r(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:37
ROOT::VecOps::RVec< float > getCaloHit_eta(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:208
ROOT::VecOps::RVec< float > getCaloCluster_energy(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:310
ROOT::VecOps::RVec< TVector3 > getCaloHit_positionVector3(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:245
ROOT::VecOps::RVec< float > getCaloCluster_y(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:264
ROOT::VecOps::RVec< float > getSimParticleSecondaries_theta(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:413
ROOT::VecOps::RVec< float > getCaloCluster_z(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:272
ROOT::VecOps::RVec< float > getSimParticleSecondaries_y(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:376
ROOT::VecOps::RVec< float > getSimCellID(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:99
ROOT::VecOps::RVec< float > getSimParticleSecondaries_phi(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:402
ROOT::VecOps::RVec< int > getCaloHit_phiIdx(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:169
ROOT::VecOps::RVec< float > getSimCaloHit_z(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:61
ROOT::VecOps::RVec< int > getCaloHit_moduleIdx(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:178
ROOT::VecOps::RVec< float > getCaloHit_x(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:134
ROOT::VecOps::RVec< float > getCaloCluster_theta(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:290
ROOT::VecOps::RVec< float > getSimCaloHit_phi(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:69
ROOT::VecOps::RVec< float > getCaloHit_energy(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:228
ROOT::VecOps::RVec< int > getCaloHit_thetaIdx(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:189
ROOT::VecOps::RVec< float > getSimCaloHit_theta(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:79
ROOT::VecOps::RVec< float > getCaloHit_y(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:142
ROOT::VecOps::RVec< int > getSimCaloHit_depth(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in, const int decodingVal)
Definition CaloNtupleizer.cc:115
ROOT::VecOps::RVec< TVector3 > getSimCaloHit_positionVector3(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:123
ROOT::VecOps::RVec< float > getSimCaloHit_energy(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:107
ROOT::VecOps::RVec< int > getCaloHit_layer(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:236
ROOT::VecOps::RVec< float > getCaloHit_phi(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:158
ROOT::VecOps::RVec< TVector3 > getCaloCluster_positionVector3(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:318
ROOT::VecOps::RVec< int > getCaloHit_etaIdx(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:219
ROOT::VecOps::RVec< float > getSimCaloHit_x(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:45
ROOT::VecOps::RVec< float > getCaloCluster_x(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:256
ROOT::VecOps::RVec< float > getCaloHit_theta(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:198
ROOT::VecOps::RVec< float > getSimCaloHit_y(const ROOT::VecOps::RVec< edm4hep::SimCalorimeterHitData > &in)
Definition CaloNtupleizer.cc:53
ROOT::VecOps::RVec< float > getCaloCluster_eta(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:300
ROOT::VecOps::RVec< std::vector< float > > getCaloCluster_energyInLayers(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in, const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &cells, const int nLayers=12)
Definition CaloNtupleizer.cc:345
ROOT::VecOps::RVec< float > getCaloCluster_phi(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:280
ROOT::VecOps::RVec< float > getSimParticleSecondaries_eta(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:423
ROOT::VecOps::RVec< int > getCaloCluster_lastCell(const ROOT::VecOps::RVec< edm4hep::ClusterData > &in)
Definition CaloNtupleizer.cc:336
ROOT::VecOps::RVec< float > getCaloHit_z(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:150
ROOT::VecOps::RVec< float > getSimParticleSecondaries_z(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:385
ROOT::VecOps::RVec< float > getSimParticleSecondaries_PDG(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:394
ROOT::VecOps::RVec< float > getSimParticleSecondaries_energy(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:433
void loadGeometry(std::string xmlGeometryPath, std::string readoutName)
Definition CaloNtupleizer.cc:16
ROOT::VecOps::RVec< float > getSimParticleSecondaries_x(const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in)
Definition CaloNtupleizer.cc:367
FCC analyzers collection.
Definition Algorithms.h:15
Definition CaloNtupleizer.h:92
ROOT::RVecF operator()(const ROOT::VecOps::RVec< std::vector< float > > &in)
Definition CaloNtupleizer.cc:444
size_t m_pos
Definition CaloNtupleizer.h:93
getFloatAt(size_t pos)
Definition CaloNtupleizer.cc:443
select layers
Definition CaloNtupleizer.h:24
sel_layers(int arg_min=0, int arg_max=10)
Definition CaloNtupleizer.cc:25
ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > operator()(const ROOT::VecOps::RVec< edm4hep::CalorimeterHitData > &in)
Definition CaloNtupleizer.cc:26
int _max
Definition CaloNtupleizer.h:31
int _min
Definition CaloNtupleizer.h:30