EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Class for producing RICH hits directly from MCPoints. More...
#include <EicRoot/blob/master/rich/CbmRichHitProducer.h>
Public Member Functions | |
CbmRichHitProducer () | |
Default constructor. | |
virtual | ~CbmRichHitProducer () |
Destructor. | |
virtual void | SetParContainers () |
Inherited from FairTask. | |
virtual InitStatus | Init () |
Inherited from FairTask. | |
virtual void | Exec (Option_t *option) |
Inherited from FairTask. | |
virtual void | Finish () |
Inherited from FairTask. | |
void | SetDetectorType (Int_t detType) |
Set detector type (choose: 1=Protvino, 2=CsI, 3=Hamamatsu, 4=Hamamatsu H8500-03) | |
void | SetNofNoiseHits (Int_t noise) |
Set number of noise hits to be added. | |
void | SetCollectionEfficiency (Double_t collEff) |
Set collection efficiency for photoelectrons in PMT optics. | |
void | SetSigmaMirror (Double_t sigMirror) |
Set additional smearing of MC Points due to light scattering in mirror. | |
void | SetCrossTalkHitProb (Double_t crosstalk) |
Set crosstalk hit probability. | |
void | AddCrossTalkHits (Double_t x, Double_t y, Int_t pointInd, Int_t RichDetID) |
Add cross talk hits. | |
void | AddHit (TVector3 &posHit, TVector3 &posHitErr, Int_t address, Int_t pmtID, Double_t ampl, Int_t index) |
Adds a RichHit to the HitCollection. | |
void | FindRichHitPositionSinglePMT (Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID) |
Finds hit position in PMT plane. | |
void | FindRichHitPositionMAPMT (Double_t sigma, Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID) |
Finds hit position in MAMPT plane. | |
void | FindRichHitPositionCsI (Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID) |
Finds hit position in MAMPT plane. | |
Double_t | OnePhotonAmplitude (Double_t x) |
Spectrum of the PMT response to one photo-electron. | |
Double_t | GetAmplitude () |
Generate randomly PMT amplitude according to probability density provided by OnePhotonAmplitude(x). | |
void | SetPhotoDetPar (Int_t det_type, Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]) |
Set parameters of the photodetector. | |
Public Member Functions inherited from FairTask | |
FairTask () | |
FairTask (const char *name, Int_t iVerbose=1) | |
virtual | ~FairTask () |
void | InitTask () |
void | ReInitTask () |
void | SetParTask () |
virtual void | FinishTask () |
virtual void | FinishEvent () |
void | SetVerbose (Int_t iVerbose) |
void | SetInputPersistance (Bool_t val) |
void | CheckInputPersistance (TString branchName) |
Static Public Member Functions | |
static void | TiltPoint (TVector3 *inPos, TVector3 *outPos, Double_t phi, Double_t theta, Double_t detZOrig, Bool_t noTilting=false) |
Private Member Functions | |
CbmRichHitProducer (const CbmRichHitProducer &) | |
Copy constructor. | |
CbmRichHitProducer & | operator= (const CbmRichHitProducer &) |
Assignment operator. | |
Private Attributes | |
TClonesArray * | fRichPoints |
TClonesArray * | fRichHits |
Int_t | fNHits |
Int_t | fNDoubleHits |
Double_t | fNRefrac |
Int_t | fDetection |
Int_t | fNEvents |
Double_t | fDetX |
Double_t | fDetY |
Double_t | fDetZ |
Double_t | fDetZ_org |
Double_t | fDetWidthX |
Double_t | fDetWidthY |
TObjArray * | fSensNodes |
TObjArray * | fPassNodes |
CbmGeoRichPar * | fPar |
Double_t | fPhotomulRadius |
Double_t | fPhotomulDist |
Int_t | fDetType |
Int_t | fNofNoiseHits |
Double_t | fCollectionEfficiency |
Double_t | fSigmaMirror |
Double_t | fTheta |
Double_t | fPhi |
Double_t | fCrossTalkHitProb |
Int_t | fNofCrossTalkHits |
Static Private Attributes | |
static constexpr Double_t | c = 2.998E8 |
static constexpr Double_t | h = 6.626E-34 |
static constexpr Double_t | e = 1.6022E-19 |
Additional Inherited Members | |
Protected Member Functions inherited from FairTask | |
virtual InitStatus | ReInit () |
void | InitTasks () |
void | ReInitTasks () |
void | SetParTasks () |
void | FinishTasks () |
void | FinishEvents () |
Protected Attributes inherited from FairTask | |
Int_t | fVerbose |
Int_t | fInputPersistance |
Indicates if input branch is persistant. | |
FairLogger * | fLogger |
Class for producing RICH hits directly from MCPoints.
Definition at line 27 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 27 of file CbmRichHitProducer.h
CbmRichHitProducer::CbmRichHitProducer | ( | ) |
Default constructor.
Definition at line 35 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 35 of file CbmRichHitProducer.cxx
|
virtual |
Destructor.
Definition at line 74 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 74 of file CbmRichHitProducer.cxx
References FairRootManager::Instance(), and FairRootManager::Write().
|
private |
Copy constructor.
void CbmRichHitProducer::AddCrossTalkHits | ( | Double_t | x, |
Double_t | y, | ||
Int_t | pointInd, | ||
Int_t | RichDetID | ||
) |
Add cross talk hits.
[in] | x | X position of the central hit. |
[in] | y | Y position of the central hit. |
[in] | pointInd | Index of the Rich Point of the central hit. |
[in] | RichDetID | ID of the RICH detector. |
Definition at line 501 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 501 of file CbmRichHitProducer.cxx
References AddHit(), fCrossTalkHitProb, fDetType, fDetZ, FindRichHitPositionMAPMT(), fNofCrossTalkHits, fPhotomulRadius, GetAmplitude(), and rand.
Referenced by Exec().
void CbmRichHitProducer::AddHit | ( | TVector3 & | posHit, |
TVector3 & | posHitErr, | ||
Int_t | address, | ||
Int_t | pmtID, | ||
Double_t | ampl, | ||
Int_t | index | ||
) |
Adds a RichHit to the HitCollection.
posHit | Hit position. |
posHitErr | Hit errors. |
address | Detector ID. |
pmtID | PMT ID. |
ampl | Hit amplitude. |
index | Index. |
Definition at line 462 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 462 of file CbmRichHitProducer.cxx
References fNDoubleHits, fNHits, fRichHits, CbmBaseHit::GetAddress(), GetAmplitude(), CbmRichHit::GetNPhotons(), CbmRichHit::GetPmtId(), CbmBaseHit::SetAddress(), CbmRichHit::SetAmplitude(), CbmRichHit::SetNPhotons(), CbmRichHit::SetPmtId(), CbmPixelHit::SetPosition(), CbmPixelHit::SetPositionError(), and CbmBaseHit::SetRefId().
Referenced by AddCrossTalkHits(), and Exec().
|
virtual |
Inherited from FairTask.
Definition at line 251 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 251 of file CbmRichHitProducer.cxx
References AddCrossTalkHits(), AddHit(), c, e, fCollectionEfficiency, fDetection, fDetType, fDetWidthX, fDetWidthY, fDetX, fDetY, fDetZ, fDetZ_org, FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), fNDoubleHits, fNEvents, fNHits, fNofCrossTalkHits, fNofNoiseHits, fNRefrac, CbmRichPoint::fPDG, fPhi, fPhotomulDist, fPhotomulRadius, fRichHits, fRichPoints, fTheta, FairTask::fVerbose, GetAmplitude(), FairMCPoint::GetDetectorID(), h, charm_jet_coverage::mom, FairMCPoint::Momentum(), FairMCPoint::Position(), rand, SetPhotoDetPar(), and TiltPoint().
void CbmRichHitProducer::FindRichHitPositionCsI | ( | Double_t | xPoint, |
Double_t | yPoint, | ||
Double_t & | xHit, | ||
Double_t & | yHit, | ||
Int_t & | pmtID | ||
) |
Finds hit position in MAMPT plane.
xPoint | |
yPoint | |
xHit | |
yHit | |
pmtID |
Definition at line 982 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 982 of file CbmRichHitProducer.cxx
References fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, and fSigmaMirror.
Referenced by Exec().
void CbmRichHitProducer::FindRichHitPositionMAPMT | ( | Double_t | sigma, |
Double_t | xPoint, | ||
Double_t | yPoint, | ||
Double_t & | xHit, | ||
Double_t & | yHit, | ||
Int_t & | pmtID | ||
) |
Finds hit position in MAMPT plane.
sigma | |
xPoint | |
yPoint | |
xHit | |
yHit | |
pmtID |
Definition at line 906 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 906 of file CbmRichHitProducer.cxx
References fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, fSigmaMirror, FairTask::fVerbose, and G4BARRELHCAL::length.
Referenced by AddCrossTalkHits(), and Exec().
void CbmRichHitProducer::FindRichHitPositionSinglePMT | ( | Double_t | xPoint, |
Double_t | yPoint, | ||
Double_t & | xHit, | ||
Double_t & | yHit, | ||
Int_t & | pmtID | ||
) |
Finds hit position in PMT plane.
xPoint | |
yPoint | |
xHit | |
yHit | |
pmtID |
Definition at line 851 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 851 of file CbmRichHitProducer.cxx
References starlightConstants::alpha, fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, and fSigmaMirror.
Referenced by Exec().
|
virtual |
Inherited from FairTask.
Reimplemented from FairTask.
Definition at line 561 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 561 of file CbmRichHitProducer.cxx
References fRichHits.
Double_t CbmRichHitProducer::GetAmplitude | ( | ) |
Generate randomly PMT amplitude according to probability density provided by OnePhotonAmplitude(x).
Definition at line 1055 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 1055 of file CbmRichHitProducer.cxx
References OnePhotonAmplitude().
Referenced by AddCrossTalkHits(), AddHit(), and Exec().
|
virtual |
Inherited from FairTask.
Reimplemented from FairTask.
Definition at line 91 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 91 of file CbmRichHitProducer.cxx
References fDetType, fDetWidthX, fDetWidthY, fDetX, fDetY, fDetZ, fDetZ_org, fNofNoiseHits, fNRefrac, fPar, fPassNodes, fPhi, fPhotomulDist, fPhotomulRadius, fRichHits, fRichPoints, fSensNodes, fTheta, FairTask::fVerbose, FairGeoNode::getCenterPosition(), FairGeoMedium::getCerenkovPar(), CbmGeoRichPar::GetGeoPassiveNodes(), CbmGeoRichPar::GetGeoSensitiveNodes(), FairGeoNode::getLabTransform(), FairGeoNode::getMedium(), FairGeoMedium::getNpckov(), FairRootManager::GetObject(), FairGeoNode::getParameters(), FairGeoTransform::getRotMatrix(), FairGeoTransform::getTranslation(), FairRootManager::Instance(), kSUCCESS, FairRootManager::Register(), FairGeoVector::X(), FairGeoVector::Y(), and FairGeoVector::Z().
Double_t CbmRichHitProducer::OnePhotonAmplitude | ( | Double_t | x | ) |
Spectrum of the PMT response to one photo-electron.
Definition at line 1045 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 1045 of file CbmRichHitProducer.cxx
References kn.
Referenced by GetAmplitude().
|
private |
Assignment operator.
|
inline |
Set collection efficiency for photoelectrons in PMT optics.
Definition at line 74 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 74 of file CbmRichHitProducer.h
References fCollectionEfficiency.
|
inline |
Set crosstalk hit probability.
Definition at line 84 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 84 of file CbmRichHitProducer.h
References fCrossTalkHitProb.
|
inline |
Set detector type (choose: 1=Protvino, 2=CsI, 3=Hamamatsu, 4=Hamamatsu H8500-03)
Definition at line 64 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 64 of file CbmRichHitProducer.h
References fDetType.
|
inline |
Set number of noise hits to be added.
Definition at line 69 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 69 of file CbmRichHitProducer.h
References fNofNoiseHits.
|
virtual |
Inherited from FairTask.
Reimplemented from FairTask.
Definition at line 80 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 80 of file CbmRichHitProducer.cxx
References fPar, FairRuntimeDb::getContainer(), FairRun::GetRuntimeDb(), and FairRunAna::Instance().
void CbmRichHitProducer::SetPhotoDetPar | ( | Int_t | det_type, |
Double_t & | lambda_min, | ||
Double_t & | lambda_max, | ||
Double_t & | lambda_step, | ||
Double_t | efficiency[] | ||
) |
Set parameters of the photodetector.
[in] | det_type | Type of the photodetector. |
[out] | lambda_min | Minimum lambda for quantum efficiency table. |
[out] | lambda_max | Maximum lambda for quantum efficiency table. |
[out] | lambda_step | Step of the lambda for quantum efficiency table. |
[out] | efficiency[] | Quantum efficiencies. |
Measured PMT efficiencies for MAPMTs at posF (BUW measurement) ##### CernOct2011 ##### (Flat type Multianode Photomultiplier with BA cathode + UV window) corresponding range in lambda: 160nm - 700nm in steps of 10nm
Definition at line 566 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 566 of file CbmRichHitProducer.cxx
References fDetType, and FairTask::fVerbose.
Referenced by Exec().
|
inline |
Set additional smearing of MC Points due to light scattering in mirror.
Definition at line 79 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 79 of file CbmRichHitProducer.h
References fSigmaMirror.
|
static |
Tilt points by -theta, -phi for x>0, y>0 theta, -phi for x>0, y<0 theta, phi for x<0, y<0 -theta, phi for x<0, y>0 and shift x position in order to avoid overlap.
[in] | inPos | points position to be tilted. |
[out] | outPos | point position after tilting. |
[in] | phi | Angle by which photodetector was tilted around y-axis |
[in] | theta | Angle by which photodetector was tilted around x-axis. |
[in] | detZOrig | X-coordinate of photodetector (original from parameter file). |
[in] | noTilting | If you do not want to make tilting, needed for convenience. |
Definition at line 424 of file CbmRichHitProducer.cxx.
View newest version in sPHENIX GitHub at line 424 of file CbmRichHitProducer.cxx
Referenced by CbmRichProjectionProducer::DoProjection(), Exec(), CbmRichGeoTest::HitsAndPoints(), and CbmRichGeoTest::RingParameters().
|
staticprivate |
Definition at line 221 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 221 of file CbmRichHitProducer.h
Referenced by Exec().
|
staticprivate |
Definition at line 223 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 223 of file CbmRichHitProducer.h
Referenced by Exec().
|
private |
Definition at line 245 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 245 of file CbmRichHitProducer.h
Referenced by Exec(), and SetCollectionEfficiency().
|
private |
Definition at line 251 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 251 of file CbmRichHitProducer.h
Referenced by AddCrossTalkHits(), and SetCrossTalkHitProb().
|
private |
Definition at line 226 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 226 of file CbmRichHitProducer.h
Referenced by Exec().
|
private |
Definition at line 243 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 243 of file CbmRichHitProducer.h
Referenced by AddCrossTalkHits(), Exec(), Init(), SetDetectorType(), and SetPhotoDetPar().
|
private |
Definition at line 233 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 233 of file CbmRichHitProducer.h
Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().
|
private |
Definition at line 234 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 234 of file CbmRichHitProducer.h
Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().
|
private |
Definition at line 229 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 229 of file CbmRichHitProducer.h
|
private |
Definition at line 230 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 230 of file CbmRichHitProducer.h
Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().
|
private |
Definition at line 231 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 231 of file CbmRichHitProducer.h
Referenced by AddCrossTalkHits(), Exec(), and Init().
|
private |
Definition at line 232 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 232 of file CbmRichHitProducer.h
|
private |
Definition at line 219 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 219 of file CbmRichHitProducer.h
|
private |
Definition at line 227 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 227 of file CbmRichHitProducer.h
Referenced by Exec().
|
private |
Definition at line 218 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 218 of file CbmRichHitProducer.h
|
private |
Definition at line 252 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 252 of file CbmRichHitProducer.h
Referenced by AddCrossTalkHits(), and Exec().
|
private |
Definition at line 244 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 244 of file CbmRichHitProducer.h
Referenced by Exec(), Init(), and SetNofNoiseHits().
|
private |
Definition at line 225 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 225 of file CbmRichHitProducer.h
|
private |
Definition at line 238 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 238 of file CbmRichHitProducer.h
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 237 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 237 of file CbmRichHitProducer.h
Referenced by Init().
|
private |
Definition at line 249 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 249 of file CbmRichHitProducer.h
|
private |
Definition at line 242 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 242 of file CbmRichHitProducer.h
Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().
|
private |
Definition at line 241 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 241 of file CbmRichHitProducer.h
Referenced by AddCrossTalkHits(), Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().
|
private |
Definition at line 215 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 215 of file CbmRichHitProducer.h
|
private |
Definition at line 214 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 214 of file CbmRichHitProducer.h
|
private |
Definition at line 236 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 236 of file CbmRichHitProducer.h
Referenced by Init().
|
private |
Definition at line 246 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 246 of file CbmRichHitProducer.h
Referenced by FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and SetSigmaMirror().
|
private |
Definition at line 248 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 248 of file CbmRichHitProducer.h
|
staticprivate |
Definition at line 222 of file CbmRichHitProducer.h.
View newest version in sPHENIX GitHub at line 222 of file CbmRichHitProducer.h
Referenced by Exec().