13 #include <TGeoMatrix.h> 29 virtual Bool_t
Transform(Float_t *xyz, Int_t *index, Int_t* oindex);
40 void Transform2to2(Float_t *xyz, Int_t *index, Int_t *oindex)
const;
72 virtual Int_t
GetPadRow(Float_t *xyz, Int_t *index)
const ;
76 Int_t &, Int_t &, Int_t )
const {;}
84 const Int_t &,
const Int_t & , Int_t )
const {;}
88 const Float_t &,
const Float_t &,
105 Int_t
GetIndex(Int_t sector, Int_t row)
const;
114 void AdjustCosSin(Int_t isec, Float_t &cos, Float_t &sin)
const;
126 void SetSectorAngles(Float_t innerangle, Float_t innershift, Float_t outerangle,
608 Float_t x1=xyz[0]*cos + xyz[1]*sin;
609 Float_t y1=-xyz[0]*sin + xyz[1]*cos;
612 xyz[2]=
fZLength + (((index[1]/18)&0x1) ? xyz[2] : -xyz[2]);
623 Double_t xyzmaster[3] = {xyz[0],xyz[1],xyz[2]};
624 Double_t xyzlocal[3]={0,0,0};
625 if (index[1]>=0 && index[1]<
fNSector)
627 xyz[0] = xyzlocal[0];
628 xyz[1] = xyzlocal[1];
629 xyz[2] = xyzlocal[2];
642 Float_t x1=xyz[0]*cos - xyz[1]*sin;
643 Float_t y1=xyz[0]*sin + xyz[1]*cos;
735 Float_t r = TMath::Sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]);
736 if ((xyz[0]==0)&&(xyz[1]==0)) angle = 0;
739 angle =TMath::ASin(xyz[1]/r);
740 if (xyz[0]<0) angle=TMath::Pi()-angle;
741 if ( (xyz[0]>0) && (xyz[1]<0) ) angle=2*TMath::Pi()+angle;
753 Float_t angle= xyz[1];
754 xyz[0]=r*TMath::Cos(angle);
755 xyz[1]=r*TMath::Sin(angle);
842 {
if(sector <18 || (sector>35&§or<54))
return fZLength-0.275;
Float_t fInnerWireMount
space for wire mount, inner sector
Float_t GetRegionGainAbsolute(UInt_t region) const
Int_t * fResponseBin
! array with bins -calulated
Float_t fOuter1PadLength
Outer pad length.
TGraphErrors * fGainSlopesHV
graph with the gain slope as function of HV - per chamber
Float_t GetPadPitchLength(Int_t isector=0, Int_t padrow=0) const
Int_t fNOuter1WiresPerPad
Number of wires per pad.
Float_t GetOuter2PadPitchLength() const
virtual Int_t CalcResponse(Float_t *, Int_t *, Int_t)
Float_t fInnerWWPitch
pitch between wires in inner sector - calculated
Float_t fTSample
sampling time
Float_t fLastWireUp1
position of the last wire in outer1 sector
Float_t GetChipNorm() const
Float_t & GetResWeight(Int_t i)
static Double_t BetheBlochAleph(Double_t bb, Int_t type=0)
Float_t fPadCoupling
coupling factor ration of anode signal
Int_t Transform0to1(Float_t *xyz, Int_t *index) const
void SetOuterFrameSpace(Float_t frspace)
Float_t fInnerPadPitchWidth
Inner pad pitch width.
Float_t GetMaxDipVoltage() const
Float_t fNoise
noise sigma constant
Float_t GetYInner(Int_t irow) const
Float_t GetOuterWireMount() const
Float_t GetZSigma() const
void SetDiffT(Float_t DiffT)
Int_t GetNRowsTotal() const
Float_t fNtot
total number of electrons/c (MIP)
void SetInnerRadiusLow(Float_t InnerRadiusLow)
Float_t GetOuter1PadLength() const
void SetNominalVoltage(Float_t v, UInt_t i)
void SetNominalGainSlopes()
Float_t fOuterWWPitch
pitch between wires in outer sector -calculated
void SetNResponseMax(Int_t max)
Float_t GetOuterPadWidth() const
Float_t fOuterAngleShift
shift of first sector center to the 0
Float_t GetOuterRadiusLow() const
void SetOuterWWPitch(Float_t wwPitch)
void SetVoltageDipScanPeriod(Float_t period)
Float_t GetGateDelay() const
Float_t GetOuter2PadLength() const
TGeoHMatrix * GetClusterMatrix(Int_t isec) const
Int_t GetNPadsPerSegment(Int_t segmentID) const
void SetOuter1NWires(Int_t nWires)
Float_t fADCDynRange
input dynamic range (mV)
void SetPadCoupling(Float_t PadCoupling)
void SetAttCoef(Float_t AttCoef)
Float_t GetRInnerFirstWire() const
void SetDiffL(Float_t DiffL)
Int_t GetNSegmentsTotal() const
Float_t fPadRowLow[600]
Lower sector, pad row radii -calculated.
void SetInnerPadPitchWidth(Float_t PadPitchWidth)
TGeoHMatrix * GetTrackingMatrix(Int_t isec) const
Float_t fOxyCont
oxygen content
Float_t GetROuterLastWire() const
Float_t fRegionGain[3]
gain in pad regions relative to fGasGain
void Transform2to5(Float_t *xyz, Int_t *index) const
void Transform1to2Ideal(Float_t *xyz, Int_t *index) const
Float_t fNTBinsL1
Overall L1 delay in time bins.
virtual Int_t Transform2toPadRow(Float_t *, Int_t *) const
Float_t fGateDelay
Delay of L1 arrival for the TPC gate signal.
Manager class for detector parameters.
Int_t GetInnerDummyWire() const
Bool_t fbStatus
indicates consistency of the data
Int_t * GetResBin(Int_t i)
void SetRInnerFirstWire(Float_t firstWire)
void SetBetheBloch(TVectorD *v)
Float_t * fRotAngle
sin and cos of rotation angles for different sectors - calculated
void SetRowNUp2(Int_t NRowUp2)
void SetGasGain(Float_t GasGain)
Float_t GetLastWireUp1() const
Manager and of geomety classes for set: TPC.
Float_t GetDriftV() const
Float_t GetMaxFractionHVbad() const
Bool_t GetMWPCReadout() const
void SetChipNorm(Float_t ChipNorm)
void SetRInnerLastWire(Float_t lastWire)
Float_t GetMaxVoltageDeviation() const
Float_t GetOuterRadiusUp() const
Float_t fSigmaRangePIDinTracking
maximum sigma range allowed for PID probability range calculation used in tracking ...
Float_t GetROuterFirstWire() const
Float_t fExp
de = f(E) - energy loss parametrization
Float_t fROuterFirstWire
position of the first wire -calulated
void SetGateDelay(Float_t delay)
static TVectorD * GetBetheBlochParamAlice()
virtual Bool_t Transform(Float_t *xyz, Int_t *index, Int_t *oindex)
Int_t GetInnerNWires() const
Float_t fOuterFrameSpace
space for outer frame in the phi direction
virtual Int_t GetPadRow(Float_t *xyz, Int_t *index) const
void Transform4to3(Float_t *xyz, Int_t *index) const
Float_t fRInnerLastWire
position of the last wire -calculated
void SetOuterWireMount(Float_t fmount)
void SetMWPCReadout(Bool_t type)
void SetNoise(Float_t Noise)
static TVectorD * GetBetheBlochParamNa49()
void SetTFWHM(Float_t fwhm)
Float_t fDriftV
drift velocity constant
virtual Bool_t ReadGeoMatrices()
Float_t fFpot
first ionisation potential
Float_t fNprim
number of primary electrons/cm
Float_t fMaxDipVoltage
maximum voltage deviation from median before a dip event is marked
void SetSigmaRangePIDinTracking(Float_t range)
Int_t fGeometryType
type of geometry -0 straight rows
Float_t GetPadRowRadiiLow(Int_t irow) const
Float_t fInnerRadiusUp
upper radius of inner sector-IP
void SetL1Delay(Float_t delay)
Int_t fNInnerWiresPerPad
[fNSector]
Float_t fDiffL
longutudinal diffusion constant
Float_t fAttCoef
attachment coefitients
void SetZeroSup(Int_t ZeroSup)
void SetOxyCont(Float_t OxyCont)
Float_t GetOmegaTau() const
Float_t GetGasGain() const
void SetGainSlopesPT(TGraphErrors *gainSlopesPT)
Float_t GetPadPitchWidth(Int_t isector=0) const
Float_t Transform2to2NearestWire(Float_t *xyz, Int_t *index) const
Float_t GetPadCoupling() const
Float_t GetSigmaRangePIDinTracking() const
Float_t fEend
upper cutoff for de generation
void SetInnerPadPitchLength(Float_t PadPitchLength)
void SetInnerFrameSpace(Float_t frspace)
Float_t GetInnerPadLength() const
Float_t fOuter2PadLength
Outer pad length.
static TObjArray * fBBParam
array of the Bethe-Bloch parameters.
Float_t GetInnerPadPitchLength() const
Int_t fInnerDummyWire
number of wires without pad readout
Float_t fOuterRadiusLow
lower radius of outer sector-IP
Float_t fInnerPadPitchLength
Inner pad pitch length.
void SetOuterOffWire(Float_t offset)
void SetOuter1PadPitchLength(Float_t PadPitchLength)
static void RegisterBBParam(TVectorD *param, Int_t position)
Float_t GetRegionGain(UInt_t region) const
Float_t fNominalVoltage[72]
nominal voltage in [V] per chamber
Float_t GetL1Delay() const
void Transform2to2(Float_t *xyz, Int_t *index, Int_t *oindex) const
Float_t fROuterLastWire
position of the last wire -calculated
TGraphErrors * fGainSlopesPT
graph with the gain slope as function of P/T - per chamber
void Transform4to8(Float_t *xyz, Int_t *index) const
void SetMaxTBin(Int_t maxtbin)
Int_t Transform2to3(Float_t *xyz, Int_t *index) const
Int_t fNInnerSector
number of inner sectors -calculated
Float_t GetTotalNormFac() const
Float_t GetNoiseNormFac() const
void SetMaxFractionHVbad(Float_t frac)
void SetInnerPadWidth(Float_t PadWidth)
TGeoHMatrix * Tracking2LocalMatrix(const TGeoHMatrix *geoMatrix, Int_t sector) const
static TVectorD * GetBetheBlochParamAliceMC()
void SetChipGain(Float_t ChipGain)
void SetMaxVoltageDeviation(Float_t voltage)
void SetSectorAngles(Float_t innerangle, Float_t innershift, Float_t outerangle, Float_t outershift)
Float_t fPadRowUp[600]
Upper sector, pad row radii -calculated.
Float_t fOuterWireMount
space for wire mount, outer sector
void SetNTBinsBeforeL1(UShort_t nbins)
Int_t GetNPadsLow(Int_t irow) const
void SetOuterRadiusLow(Float_t OuterRadiusLow)
Float_t fYInner[600]
Inner sector, wire-length.
void Transform5to2(Float_t *xyz, Int_t *index) const
Bool_t GetUseGlitchFilter() const
TVectorD * fBetheBloch
Bethe-Bloch parametrization.
Float_t GetOuterWWPitch() const
TVectorD * fBetheBlochMC
Bethe-Bloch parametrization.
void SetInnerDummyWire(Int_t dummy)
void Transform6to8(Float_t *xyz, Int_t *index) const
Int_t GetNCrossRows() const
UShort_t fNTBinsBeforeL1
Number of time bins before L1 arrival which are being read out.
Float_t GetADCDynRange() const
Int_t fNRowUp
number of pad rows per sector up -calculated
Float_t GetOuterAngle() const
virtual Float_t GetZOffset() const
Float_t GetYOuter(Int_t irow) const
Int_t GetOuter1NWires() const
Int_t GetSectorIndex(Float_t angle, Int_t row, Float_t z) const
virtual void CRXYZtoXYZ(Float_t *, const Int_t &, const Int_t &, Int_t) const
Float_t fNoiseNormFac
normalisation factor to transform noise in electron to ADC channel
Macros to do fast simulation of processes important for tuning of reconstruction Currently fast simulation of ionization digitization and cluster finder AliTPCclusterFast How to use it a which macro to use(I know it was somewhere in AliRoot but with the GIT page I dont find it anymore)
Float_t fOuterAngle
opening angle of outer sector
Float_t GetInnerRadiusLow() const
Float_t fChipGain
preamp shaper constant
TGeoHMatrix ** fClusterMatrix
transformation matrices of the cluster coordinate system
Float_t fMaxHVfractionBad
maximum fraction of bad HV entries (deviation from Median) before a chamber is marked bad ...
Float_t GetZWidth() const
Float_t fResponseThreshold
threshold for accepted response
void SetLastWireUp1(Float_t wireUp1)
Int_t fNSector
total number of sectors -calculated
Float_t GetOuterOffWire() const
void SetOuter1PadLength(Float_t PadLength)
Float_t GetInnerAngle() const
Float_t fWmean
mean energy for electron/ion pair
Int_t fNResponseMax
maximal dimension of response
Float_t GetAngle(Int_t isec) const
Float_t * fResponseWeight
! array with response -calulated
Int_t fNPadsLow[600]
Lower sector, number of pads per row -calculated.
Float_t fInnerFrameSpace
space for inner frame in the phi direction
Float_t fChipNorm
preamp shaper normalisation
void SetOuter2PadLength(Float_t PadLength)
Float_t GetTSample() const
Double_t GetLowMaxY(Int_t irow) const
Int_t fOuterDummyWire
number of wires without pad readout
Float_t fInnerOffWire
oofset of first wire to the begining of the sector
void SetNprim(Float_t prim)
Int_t fNPadsUp[600]
Upper sector, number of pads per row -calculated.
void SetGainSlopesHV(TGraphErrors *gainSlopesHV)
void SetInnerWWPitch(Float_t wwPitch)
void SetOuterDummyWire(Int_t dummy)
Float_t fDiffT
tangencial diffusion constant
void SetInnerPadLength(Float_t PadLength)
virtual void SetDefault()
Float_t fOuterPadWidth
Outer pad width.
TGeoHMatrix ** fGlobalMatrix
fTrackingMatrix * fClusterMatrix
Int_t fNOuter2WiresPerPad
Number of wires per pad.
void SetOuterRadiusUp(Float_t OuterRadiusUp)
Float_t GetOuterAngleShift() const
virtual void CRYZtoTimePad(const Float_t &, const Float_t &, Float_t &, Float_t &, Int_t, Int_t)
Float_t fInnerAngle
opening angle of Inner sector
void SetInnerNWires(Int_t nWires)
Float_t fOuterOffWire
oofset of first wire to the begining of the sector
void SetRowNLow(Int_t NRowLow)
void SetTSample(Float_t TSample)
Float_t fL1Delay
Delay of L1 arrival for the TPC readout.
Float_t fOmegaTau
omega tau ExB coeficient
Int_t fCurrentMax
! current maximal dimension -calulated
Int_t fADCSat
saturation value of ADC (10 bits)
Float_t fMaxVoltageDeviation
maximum voltage deviation from nominal voltage before a chamber is masked
void SetDriftV(Float_t DriftV)
void SetRowNUp(Int_t NRowUp)
Float_t GetNominalVoltage(UInt_t i) const
void SetResponseThreshold(Int_t threshold)
Bool_t AdjustSectorRow(Int_t index, Int_t §or, Int_t &row) const
Float_t fInnerAngleShift
shift of first inner sector center to the 0
TGraphErrors * GetGainSlopesPT() const
Int_t GetIndex(Int_t sector, Int_t row) const
TVectorD * GetBetheBlochParameters()
Float_t fTotalNormFac
full normalisation factor - calculated
Int_t GetNRow(Int_t isec) const
void SetROuterLastWire(Float_t lastWire)
Float_t fInnerPadLength
Inner pad length.
void SetRegionGain(UInt_t region, Float_t gain)
void Transform8to4(Float_t *xyz, Int_t *index) const
void SetZLength(Float_t zlength)
Float_t fYOuter[600]
Outer sector, wire-length.
TGraphErrors * GetGainSlopesHV() const
Int_t GetWireSegment(Int_t sector, Int_t row) const
TGeoHMatrix ** fTrackingMatrix
transformation matrices of the tracking coordinate system
Float_t GetPadRowRadiiUp(Int_t irow) const
Float_t GetVoltageDipScanPeriod() const
TGeoHMatrix * GetGlobalMatrix(Int_t isec) const
Float_t fZWidth
derived value calculated using TSample and driftw -computed
void SetOmegaTau(Float_t OmegaTau)
Int_t GetGeometryType() const
Float_t GetInnerFrameSpace() const
Float_t GetWWPitch(Int_t isector=0) const
void AdjustCosSin(Int_t isec, Float_t &cos, Float_t &sin) const
Float_t GetOxyCont() const
Float_t GetChipGain() const
void SetGeometryType(Int_t type)
Float_t fOuterPadPitchWidth
Outer pad pitch width.
Int_t GetNPads(Int_t isector, Int_t irow) const
virtual void CRTimePadtoYZ(Float_t &, Float_t &, const Float_t &, const Float_t &, Int_t, Int_t)
Int_t GetOuter2NWires() const
Float_t GetInnerAngleShift() const
Float_t GetInnerOffWire() const
Int_t GetNPadsUp(Int_t irow) const
UShort_t GetNTBinsBeforeL1() const
Int_t GetNOuterSector() const
Float_t fOuter1PadPitchLength
Outer pad pitch length.
void SetOuterPadPitchWidth(Float_t PadPitchWidth)
Int_t fMaxTBin
maximum time bin number
void SetNCrossRows(Int_t rows)
Float_t GetOuterFrameSpace() const
Int_t fNOuterSector
number of outer sectors -calculated
void SetRowNUp1(Int_t NRowUp1)
void SetBetheBlochMC(TVectorD *v)
void SetADCDynRange(Float_t adcdynrange)
Float_t fRInnerFirstWire
position of the first wire -calculated
void Transform2to1(Float_t *xyz, Int_t *index) const
Float_t fInnerPadWidth
Inner pad width.
Float_t GetInnerWireMount() const
Float_t GetInnerRadiusUp() const
Int_t fNRowLow
number of pad rows per low sector -set
void SetInnerWireMount(Float_t fmount)
class TVectorT< Double_t > TVectorD
Double_t GetUpMaxY(Int_t irow) const
Float_t GetOuterPadPitchWidth() const
void SetOuter2NWire(Int_t nWires)
Float_t fInnerRadiusLow
lower radius of inner sector-IP
void SetOuterPadWidth(Float_t PadWidth)
Float_t GetNTBinsL1() const
Float_t GetZLength(Int_t sector=0) const
void SetUseGlitchFilter(Bool_t use)
void SetADCSat(Int_t adcsat)
void SetNtot(Float_t ntot)
void SetROuterFirstWire(Float_t firstWire)
Int_t fNRowUp1
number of short pad rows per sector up -set
Int_t GetOuterDummyWire() const
void Transform3to4(Float_t *xyz, Int_t *index) const
void SetEend(Float_t end)
Float_t fOuterRadiusUp
upper radius of outer sector-IP
Float_t GetPadRowRadii(Int_t isec, Int_t irow) const
Float_t GetInnerWWPitch() const
Float_t GetAttCoef() const
Float_t fGasGain
gas gain constant
void Transform8to6(Float_t *xyz, Int_t *index) const
Float_t GetOuter1PadPitchLength() const
Float_t fOuter2PadPitchLength
Outer pad pitch length.
void SetWmean(Float_t wmean)
Float_t fTSigma
width of the Preamp/Shaper function
void Transform1to2(Float_t *xyz, Int_t *index) const
Int_t fZeroSup
zero suppresion constant
virtual void XYZtoCRXYZ(Float_t *, Int_t &, Int_t &, Int_t) const
Float_t GetInnerPadPitchWidth() const
Bool_t fBMWPCReadout
indicate wire readout - kTRUE or GEM readout -kFALSE
void SetComposition(Float_t c1, Float_t c2, Float_t c3, Float_t c4, Float_t c5, Float_t c6)
TVectorD * GetBetheBlochParametersMC()
void SetInnerOffWire(Float_t offset)
Int_t fNRowUp2
number of long pad rows per sector up -set
Float_t fVoltageDipScanPeriod
scanning period to detect a high volrage dip: event time stamp +- fVoltageDipScanPeriod [sec] ...
Int_t GetNInnerSector() const
Float_t GetRInnerLastWire() const
Bool_t fUseGlitchFilter
use the glitch filter to suppress single digits above threshold
void SetFpot(Float_t fpot)
Float_t * GetComposition()
Int_t fNCrossRows
number of rows to crostalk calculation
void SetOuter2PadPitchLength(Float_t PadPitchLength)
void SetMaxDipVoltage(Float_t voltage)
void SetInnerRadiusUp(Float_t InnerRadiusUp)
Int_t fNtRows
total number of rows in TPC -calculated
AliTPCParam & operator=(const AliTPCParam &)
Float_t GetChamberCenter(Int_t isec, Float_t *center=0) const
Float_t GetInnerPadWidth() const