AMSDST
Main Page
Classes
Files
File List
File Members
source
myRichRingPlus.h
Go to the documentation of this file.
1
// Authors: M.Duranti - INFN di Perugia
2
#ifndef myRichRingPlus_h
3
#define myRichRingPlus_h
4
5
#include "
myRichRingBase.h
"
6
#include <TMath.h>
7
class
myRichRingPlus
:
public
myRichRingBase
{
8
public
:
10
myRichRingPlus
();
12
~myRichRingPlus
();
13
14
Bool_t
JustOneRichParticle
;
15
Bool_t
TheCorrectTrack
;
16
Bool_t
_IsClean
;
17
Bool_t
FiducialVolumeLoose
;
18
Bool_t
FiducialVolumeTight
;
19
Bool_t
EnoughUsedHitsInRing
;
20
Bool_t
NoMirroredPhotons
;
21
Bool_t
EnoughExpetedHitsInRing
;
22
Bool_t
GoodRingProbability
;
23
Bool_t
RingWidthSmallEnough
;
24
Bool_t
EnoghPMTsInEvent
;
25
Bool_t
EnoughPMTsInEventForRing
;
26
Bool_t
EnoughPhotoElectronsWRTCollected
;
27
Bool_t
BetaDiscrepancy
;
28
29
Int_t
Used
;
30
Int_t
UsedM
;
32
Float_t
Prob
;
34
Float_t
AMSTrPars
[5];
36
Float_t
TrRadPos
[3];
38
Float_t
TrPMTPos
[3];
39
Float_t
BetaConsistency
;
40
Float_t
_betaCorrection
;
41
Float_t
PhotoElectrons
;
42
Float_t
ExpectedPhotoElectrons
;
43
Int_t
PMTs
;
44
Float_t
PMTChargeConsistency
;
45
Int_t
_PmtCorrectionsFailed
;
46
Int_t
TileIndex
;
47
Float_t
CollectedPhotoElectrons
;
48
Int_t
UsedHits
;
49
Bool_t
ChargeCorrections
;
50
Double32_t
_RingWidth
;
52
Float_t
BetaExpectedResolution
;
53
Float_t
BetaExpectedRms
;
54
Float_t
ChargeExpectedResolution
;
55
Float_t
ChargeExpectedRms
;
56
Float_t
NpExp
;
58
Float_t
NpCol
;
59
61
Int_t
kind
;
63
Double_t
mindist
[2];
65
Double_t
empoint
[3];
67
Double_t
emdir
[2];
69
Double_t
nphoel
[2];
71
Double_t
betam
[2];
73
Int_t
npmthits
[2];
75
Int_t
npmts
[2];
76
78
bool
IsNaF
(){
return
(
Status
&2)!=0;}
80
inline
Bool_t
IsClean
() {
return
_IsClean
;}
82
inline
Bool_t
IsGood
() {
return
IsClean
() &&
getExpectedPhotoElectrons
()>1e-6;}
84
inline
Float_t
getProb
() {
return
Prob
;}
85
inline
Float_t
getTrackTheta
() {
return
AMSTrPars
[3];}
86
inline
Float_t
getTrackPhi
() {
return
AMSTrPars
[4];}
88
inline
Float_t
getBetaConsistency
() {
return
BetaConsistency
; }
89
inline
Float_t
getRawIndexUsed
() {
return
1.0/
Beta
/TMath::Cos(
Theta
);}
90
inline
Float_t
betaCorrection
() {
return
_betaCorrection
;}
91
inline
Float_t
getIndexUsed
() {
return
getRawIndexUsed
()/
betaCorrection
();}
92
inline
Float_t
getPhotoElectrons
() {
return
PhotoElectrons
;}
94
inline
Float_t
getExpectedPhotoElectrons
() {
return
ExpectedPhotoElectrons
;}
96
inline
Float_t *
getTrackEmissionPoint
() {
return
AMSTrPars
;}
98
inline
Int_t
getPMTs
(){
return
PMTs
; }
100
inline
Float_t
getPMTChargeConsistency
(){
return
PMTChargeConsistency
; }
102
inline
Int_t
PmtCorrectionsFailed
(){
return
_PmtCorrectionsFailed
;}
104
inline
Int_t
getTileIndex
() {
return
TileIndex
;}
106
inline
Int_t
getHits
(){
return
Used
;}
108
inline
Int_t
getReflectedHits
() {
return
UsedM
;}
110
inline
Float_t
getCollectedPhotoElectrons
(){
return
CollectedPhotoElectrons
;}
112
inline
Int_t
getUsedHits
() {
return
UsedHits
;}
114
inline
Bool_t
Rebuild
(){
return
(
Status
&1)!=0;}
117
inline
Double32_t
DistanceTileBorder
() {
double
value=double((
Status
>>15)&0x3ff)/100.;
return
value>8?0:value;}
119
inline
Double32_t
RingWidth
(){
return
_RingWidth
;}
121
inline
Float_t
getCharge2Estimate
() {
return
getExpectedPhotoElectrons
()>0?
getPhotoElectrons
()/
getExpectedPhotoElectrons
():0;}
123
inline
Float_t
getBetaError
() {
return
sqrt(2.5e-3*2.5e-3*(
IsNaF
()?9.0:1.0)/
getPhotoElectrons
()+1e-4*1e-4);}
125
inline
Float_t
getWidth
(){
return
RingWidth
();}
126
127
inline
Float_t
getBetaExpectedResolution
(){
return
BetaExpectedResolution
;}
128
inline
Float_t
getBetaExpectedRms
(){
return
BetaExpectedRms
;}
129
inline
Float_t
getChargeExpectedResolution
(){
return
ChargeExpectedResolution
;}
130
inline
Float_t
getChargeExpectedRms
(){
return
ChargeExpectedRms
;}
131
132
133
virtual
void
Clear
(Option_t* option=
""
);
134
private
:
135
virtual
void
init
();
136
137
public
:
138
ClassDef
(
myRichRingPlus
,6);
139
};
140
141
#ifdef _WITHGBATCH_
142
143
class
myRichRingPlusFiller:
public
myRichRingPlus
{
144
public
:
146
myRichRingPlusFiller();
148
~myRichRingPlusFiller();
149
150
RichRingR* ring;
151
152
void
Fill(RichRingR* _ring, ParticleR* pp);
153
154
virtual
void
Clear
(Option_t* option=
""
);
155
private
:
156
virtual
void
init
();
157
158
public
:
159
ClassDef
(myRichRingPlusFiller,1);
160
};
161
162
#endif //#ifdef _WITHGBATCH_
163
164
#endif
Generated on Tue Dec 29 2015 23:02:50 for AMSDST by
1.8.3