SND@LHC Software
Loading...
Searching...
No Matches
sndShowerTools.h
Go to the documentation of this file.
1#ifndef SND_SHOWERTOOLS_H
2#define SND_SHOWERTOOLS_H
3
4#include <vector>
5
6#include "sndConfiguration.h"
7#include "sndScifiPlane.h"
8#include "sndUSPlane.h"
9#include "Math/Vector3D.h"
10#include "Math/Point3D.h"
11
12namespace snd {
13 namespace analysis_tools {
14 // Returns first SciFi station with shower. If no shower is found in SciFi, returns -1
15 int GetScifiShowerStart(const std::vector<ScifiPlane> &scifi_planes);
16 // Returns last SciFi station with shower. If no shower is found in SciFi, returns -1
17 int GetScifiShowerEnd(const std::vector<ScifiPlane> &scifi_planes);
18 // Returns first US station with shower. If no shower is found in US, returns -1
19 int GetUSShowerStart(const std::vector<USPlane> &us_planes);
20 // Returns last US station with shower. If no shower is found in US, returns -1
21 int GetUSShowerEnd(const std::vector<USPlane> &us_planes);
22 // Returns a 3D reference point and the normalized direction of the shower fitting centroids in SciFi and US
23 std::pair<ROOT::Math::XYZPoint, ROOT::Math::XYZVector> GetShowerInterceptAndDirection(const Configuration &configuration, const std::vector<ScifiPlane> &scifi_planes, const std::vector<USPlane> &us_planes);
24 // Filters out non showering planes
25 std::pair<std::vector<ScifiPlane>, std::vector<USPlane>> GetShoweringPlanes(const std::vector<ScifiPlane> &scifi_planes, const std::vector<USPlane> &us_planes);
26 // Returns the SciFi spatial anisotropy(track-likeness) per projection
27 std::pair<double, double> GetSciFiSpatialAnisotropy(const std::vector<ScifiPlane> &scifi_planes, bool use_all_centroids = false);
28 // Returns the US spatial anisotropy
29 double GetUSSpatialAnisotropy(const std::vector<USPlane> &us_planes, bool use_all_centroids = false);
30 }
31}
32
33#endif
std::pair< std::vector< ScifiPlane >, std::vector< USPlane > > GetShoweringPlanes(const std::vector< ScifiPlane > &scifi_planes, const std::vector< USPlane > &us_planes)
int GetUSShowerEnd(const std::vector< USPlane > &us_planes)
double GetUSSpatialAnisotropy(const std::vector< USPlane > &us_planes, bool use_all_centroids=false)
int GetScifiShowerStart(const std::vector< ScifiPlane > &scifi_planes)
int GetUSShowerStart(const std::vector< USPlane > &us_planes)
int GetScifiShowerEnd(const std::vector< ScifiPlane > &scifi_planes)
std::pair< ROOT::Math::XYZPoint, ROOT::Math::XYZVector > GetShowerInterceptAndDirection(const Configuration &configuration, const std::vector< ScifiPlane > &scifi_planes, const std::vector< USPlane > &us_planes)
std::pair< double, double > GetSciFiSpatialAnisotropy(const std::vector< ScifiPlane > &scifi_planes, bool use_all_centroids=false)