SND@LHC Software
Loading...
Searching...
No Matches
sndUSQDCCut.cxx
Go to the documentation of this file.
1
#include "
sndUSQDCCut.h
"
2
3
#include "TClonesArray.h"
4
#include "TChain.h"
5
#include "
MuFilterHit.h
"
6
#include "TString.h"
7
8
#include <vector>
9
#include <map>
10
#include <numeric>
11
12
namespace
snd::analysis_cuts
{
13
14
USQDCCut::USQDCCut
(
float
threshold, TChain * ch) :
MuFilterBaseCut
(ch) {
15
qdc_threshold
= threshold;
16
cutName
=
"Total US QDC > "
+std::to_string(
qdc_threshold
);
17
18
shortName
=
"USQDC"
;
19
nbins
= std::vector<int>{100};
20
range_start
= std::vector<double>{0};
21
range_end
= std::vector<double>{10000};
22
plot_var
= std::vector<double>{-1};
23
}
24
25
bool
USQDCCut::passCut
(){
26
MuFilterHit
* hit;
27
TIter hitIterator(
muFilterDigiHitCollection
);
28
29
float
totQDC = 0.;
30
31
bool
ds =
false
;
32
std::vector<bool> us = std::vector<bool>(5,
false
);
33
34
while
( (hit = (
MuFilterHit
*) hitIterator.Next()) ){
35
if
(hit->
GetSystem
() == 2) {
36
for
(
const
auto
& [key, value] : hit->
GetAllSignals
()) {
37
totQDC += value;
38
}
39
}
40
}
41
plot_var
[0] = totQDC;
42
if
(totQDC >=
qdc_threshold
)
return
true
;
43
return
false
;
44
}
45
}
MuFilterHit.h
MuFilterHit
Definition
MuFilterHit.h:11
MuFilterHit::GetSystem
int GetSystem()
Definition
MuFilterHit.h:41
MuFilterHit::GetAllSignals
std::map< Int_t, Float_t > GetAllSignals(Bool_t mask=kTRUE, Bool_t positive=kTRUE)
Definition
MuFilterHit.cxx:153
snd::analysis_cuts::MuFilterBaseCut
Definition
sndMuFilterBaseCut.h:12
snd::analysis_cuts::MuFilterBaseCut::muFilterDigiHitCollection
static TClonesArray * muFilterDigiHitCollection
Definition
sndMuFilterBaseCut.h:15
snd::analysis_cuts::USQDCCut::USQDCCut
USQDCCut(float threshold, TChain *ch)
Definition
sndUSQDCCut.cxx:14
snd::analysis_cuts::USQDCCut::qdc_threshold
float qdc_threshold
Definition
sndUSQDCCut.h:12
snd::analysis_cuts::USQDCCut::passCut
bool passCut()
Definition
sndUSQDCCut.cxx:25
snd::analysis_cuts::baseCut::plot_var
std::vector< double > plot_var
Definition
sndBaseCut.h:14
snd::analysis_cuts::baseCut::shortName
std::string shortName
Definition
sndBaseCut.h:10
snd::analysis_cuts::baseCut::range_end
std::vector< double > range_end
Definition
sndBaseCut.h:13
snd::analysis_cuts::baseCut::cutName
std::string cutName
Definition
sndBaseCut.h:9
snd::analysis_cuts::baseCut::range_start
std::vector< double > range_start
Definition
sndBaseCut.h:12
snd::analysis_cuts::baseCut::nbins
std::vector< int > nbins
Definition
sndBaseCut.h:11
snd::analysis_cuts
Definition
sndAvgDSFiducialCut.cxx:5
sndUSQDCCut.h
analysis
cuts
sndUSQDCCut.cxx
Generated by
1.9.8