SND@LHC Software
Loading...
Searching...
No Matches
snd::analysis_cuts::avgDSFiducialCut Class Reference

#include <sndAvgDSFiducialCut.h>

Inheritance diagram for snd::analysis_cuts::avgDSFiducialCut:
Collaboration diagram for snd::analysis_cuts::avgDSFiducialCut:

Public Member Functions

 avgDSFiducialCut (double vertical_min_cut, double vertical_max_cut, double horizontal_min_cut, double horizontal_max_cut, TChain *tree)
 
 ~avgDSFiducialCut ()
 
bool passCut ()
 
- Public Member Functions inherited from snd::analysis_cuts::baseCut
std::string getName ()
 
std::string getShortName ()
 
std::vector< int > getNbins ()
 
std::vector< double > getRangeStart ()
 
std::vector< double > getRangeEnd ()
 
std::vector< double > getPlotVar ()
 

Private Attributes

double vertical_min
 
double vertical_max
 
double horizontal_min
 
double horizontal_max
 

Additional Inherited Members

- Protected Member Functions inherited from snd::analysis_cuts::MuFilterBaseCut
 MuFilterBaseCut (TChain *ch)
 
 ~MuFilterBaseCut ()
 
- Protected Attributes inherited from snd::analysis_cuts::baseCut
std::string cutName
 
std::string shortName
 
std::vector< int > nbins
 
std::vector< double > range_start
 
std::vector< double > range_end
 
std::vector< double > plot_var
 
- Static Protected Attributes inherited from snd::analysis_cuts::MuFilterBaseCut
static TClonesArray * muFilterDigiHitCollection = 0
 

Detailed Description

Definition at line 10 of file sndAvgDSFiducialCut.h.

Constructor & Destructor Documentation

◆ avgDSFiducialCut()

snd::analysis_cuts::avgDSFiducialCut::avgDSFiducialCut ( double  vertical_min_cut,
double  vertical_max_cut,
double  horizontal_min_cut,
double  horizontal_max_cut,
TChain *  tree 
)

Definition at line 6 of file sndAvgDSFiducialCut.cxx.

6 : MuFilterBaseCut(tree){
7 vertical_min = vertical_min_cut;
8 vertical_max = vertical_max_cut;
9 horizontal_min = horizontal_min_cut;
10 horizontal_max = horizontal_max_cut;
11
12 cutName = "Avg DS Ver bar in ["+std::to_string(vertical_min)+","+std::to_string(vertical_max)+"] Hor in ["+std::to_string(horizontal_min)+","+std::to_string(horizontal_max)+"]";
13
14 shortName = "AvgDSbar";
15 nbins = std::vector<int>{60, 60};
16 range_start = std::vector<double>{60, 0};
17 range_end = std::vector<double>{120, 60};
18 plot_var = std::vector<double>{-1, -1};
19 }
std::vector< double > plot_var
Definition sndBaseCut.h:14
std::vector< double > range_end
Definition sndBaseCut.h:13
std::vector< double > range_start
Definition sndBaseCut.h:12
std::vector< int > nbins
Definition sndBaseCut.h:11

◆ ~avgDSFiducialCut()

snd::analysis_cuts::avgDSFiducialCut::~avgDSFiducialCut ( )
inline

Definition at line 15 of file sndAvgDSFiducialCut.h.

15{;}

Member Function Documentation

◆ passCut()

bool snd::analysis_cuts::avgDSFiducialCut::passCut ( )
virtual

Implements snd::analysis_cuts::baseCut.

Definition at line 21 of file sndAvgDSFiducialCut.cxx.

21 {
22
23 double avg_ver = 0.;
24 unsigned int n_ver = 0;
25 double avg_hor = 0.;
26 unsigned int n_hor = 0;
27
28 MuFilterHit* hit;
29 TIter hitIterator(muFilterDigiHitCollection);
30
31 while ( (hit = (MuFilterHit*) hitIterator.Next()) ){
32 if (hit->isValid()){
33 if (hit->GetSystem() != 3) continue;
34
35 int x = hit->GetDetectorID() % 1000;
36
37 if (hit->isVertical()){
38 avg_ver += x;
39 n_ver++;
40 } else {
41 avg_hor += x;
42 n_hor++;
43 }
44 }
45 }
46
47 if ((n_ver+n_hor) == 0) {
48 plot_var[0] = -1;
49 plot_var[1] = -1;
50 return false;
51 }
52
53 if (n_ver) {
54 avg_ver /= n_ver;
55 plot_var[0] = avg_ver;
56 } else {
57 plot_var[0] = -1;
58 }
59
60 if (n_hor) {
61 avg_hor /= n_hor;
62 plot_var[1] = avg_hor;
63 } else {
64 plot_var[1] = -1;
65 }
66
67 if (n_ver == 0) return false;
68 if (n_hor == 0) return false;
69
70 if (avg_hor < horizontal_min) return false;
71 if (avg_hor > horizontal_max) return false;
72 if (avg_ver < vertical_min) return false;
73 if (avg_ver > vertical_max) return false;
74
75 return true;
76 }
bool isValid() const
Definition MuFilterHit.h:38
int GetSystem()
Definition MuFilterHit.h:41
bool isVertical()
Int_t GetDetectorID() const
Definition SndlhcHit.h:36
static TClonesArray * muFilterDigiHitCollection

Member Data Documentation

◆ horizontal_max

double snd::analysis_cuts::avgDSFiducialCut::horizontal_max
private

Definition at line 12 of file sndAvgDSFiducialCut.h.

◆ horizontal_min

double snd::analysis_cuts::avgDSFiducialCut::horizontal_min
private

Definition at line 12 of file sndAvgDSFiducialCut.h.

◆ vertical_max

double snd::analysis_cuts::avgDSFiducialCut::vertical_max
private

Definition at line 12 of file sndAvgDSFiducialCut.h.

◆ vertical_min

double snd::analysis_cuts::avgDSFiducialCut::vertical_min
private

Definition at line 12 of file sndAvgDSFiducialCut.h.


The documentation for this class was generated from the following files: