HRichDigitizer() | |
HRichDigitizer(const Text_t* name, const Text_t* title, Bool_t kNoise = kFALSE, Float_t slope = 1.0, Bool_t oem = kFALSE) | |
virtual | ~HRichDigitizer() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual Bool_t | HReconstructor::connectTask(HTask* task, Int_t n = 0) |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual Int_t | execute() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual Bool_t | finalize() |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual HTask* | HReconstructor::getComposite() |
virtual void | HReconstructor::getConnections() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual HTask* | HTask::getOwner() |
TObjArray | HReconstructor::getTable() |
virtual HTask* | HReconstructor::getTask(const Char_t* name) |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual Bool_t | init() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | HReconstructor::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual void | HReconstructor::isTimed(Bool_t flag = kTRUE) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual HTask* | HReconstructor::next(Int_t& errCode) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
HTask& | HTask::operator=(const HTask&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | HReconstructor::printTimer() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Bool_t | reinit() |
void | TObject::ResetBit(UInt_t f) |
virtual void | HReconstructor::resetTimer() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | HTask::setConnections() |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | HTask::setManual() |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | HTask::setOwner(HTask* atask) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
void | addNoiseToCharge(HRichCalSim* calSim) |
Float_t | calcChargeOnWire(const Int_t sector, const Float_t xhit, const Float_t yhit, const Float_t nTrack, const Float_t nFlag, Float_t ene) |
Bool_t | calcFeedBack(const Int_t sec, const Float_t xhit, const Float_t yhit, Float_t& ene, Float_t& xhittFB, Float_t& yhittFB, const Float_t charge) |
Float_t | calcIndCharge(const Float_t yCharge, const Float_t q4, const Int_t iPdaIndex, const Int_t iWireNr, const Float_t param11, const Float_t param21) |
Float_t | calcNoiseOnPad(const Float_t fSigmaPad, const Float_t fFloatMean) |
Bool_t | calcQE(const Float_t photlen, const Int_t sec) |
Int_t | checkPad(HRichCalSim* calSim) |
void | digitiseCherenkovHits(HGeantRichPhoton* pCerHit, const Int_t count) |
void | digitiseDirectHits(HGeantRichDirect* pDirHit) |
void | digitisePads() |
Float_t | GaussFun(const Float_t mean, const Float_t sigma) |
Int_t | getWireNr(const Float_t xhit) |
void | makeNoiseOnPads() |
void | processPhoton(const Float_t ene, const Float_t xPos, const Float_t yPos, const Int_t track, const Int_t sector) |
Float_t | q4Calc(const Float_t charge, const Float_t pos, const Float_t par1, const Float_t par2) |
Float_t | qX(const Float_t pos) |
void | setDefaults() |
HRichPad* | translateCorners(HRichPad* pPad, const Float_t dx, const Float_t dy) |
void | updateCharge(const Int_t sector, HRichPad* pPad, const Float_t charge, TVector* rTrack, const Float_t ene) |
void | updateTrack(HRichCalSim* pCalSim, HLocation& loc, TVector* rTrack) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Bool_t | HReconstructor::fActive | Active flag |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
Bool_t | HTask::fIsTimed | timer flag |
TString | TNamed::fName | object identifier |
TObjArray | HReconstructor::fOutputs | |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
Bool_t | HTask::manual | |
HTask* | HTask::owner |
Int_t | binsQE | ! |
HCategory* | catCal | ! Pointer to the richtrack category |
HCategory* | catRichDirect | ! Pointer to the geant rich direct hits category |
HCategory* | catRichPhoton | ! Pointer to the geant rich photon category |
HCategory* | catTrack | ! Pointer to the cal data category |
TArrayF | correction[6] | ! |
Int_t | countFBphot | ! counter for feedback photons |
Int_t | countNoisePad | ! number of pads with a noise cont. above threshold. |
Float_t | distWirePads | ! distance between wires and pad plane. in cm |
TList | fChargeOnWireList | ! holds charge on a wire |
Float_t | fChargePerChannel | ! |
Float_t | fChargeScaling | ! |
Float_t | fDigitPadMatrix[9] | ! |
Float_t | fElectronsNr | ! |
TArrayF | fExpSlope | ! |
Float_t | fFactor1 | ! |
Float_t | fFactor1Sig | ! |
Float_t | fFactor2 | ! |
Float_t | fFactor2Sig | ! |
Float_t | fIncreaseNoise | ! |
Float_t | fParam1 | ! |
Float_t | fParam2 | ! |
Float_t | fQupper | ! |
Float_t | fSigmaValue | ! |
Float_t | fSlopeCorrection | ! |
TList | fTrackNumberList | ! holds track number and flag for a hit |
Float_t | fWiresDist | ! |
Int_t | fWiresNr | ! |
Float_t | fYShift | ! shift on the y pad plane coordinate necessary to |
TF1* | ga | ! Gauss function |
Bool_t | isActiveNoise | ! flag to switch on/off the electronic noise |
Bool_t | isOEM | ! flag to select oem analysis. |
HIterator* | iterRichCal | ! |
HIterator* | iterRichDirect | ! Iterator over the geant rich direct hits category |
HIterator* | iterRichPhoton | ! Iterator over the geant rich photon category |
HIterator* | iterRichTrack | ! Iterator over the carRichTrack category |
HLocation | loc | |
static const Float_t | noiseCharge[1000] | ! |
Float_t | noiseProb | ! |
HRichCalPar* | pCalPar | ! Pointer to calibration parameters |
HRichDigitisationPar* | pDigitisationPar | ! Pointer to digitisation parameters |
HRichGeometryPar* | pGeometryPar | ! Pointer to geometry parameters |
TArrayF | photeffic | ! |
TArrayF | photlength | ! |
At the end of the execute() the TClonesArray that contains the track numbers is sorted by the pad addreses. Then every CalSim object is retrieved from the catRichCal container to assign to each pad the corresponding nTrack1, nTrack2. These 2 numbers are the indexes of the track nbs. in the TClonesArray HRichTrack. Finally the noise is calculated.
this function calculates the charge on each wire and saves it in a TList moreover, it saves the track number and the corresponding flag (cf HRichTrack) in a second TList. The charge is calculated according to one exponential function obtained fitting the total charge distribution of the photon candidates belonging to class one ( OEM data). That means that the so calculated charge isn't in reality the original charge deposited on the wire but the total amount of the charge coupled to the pads. Therefore it isn't any longer necessary to use an additional coupling factor. ( 75%)
for every photon hit on a pad the resulting charge on a wire is calculated and the track number of the photon parent is stored. (cf. calcChargeOnWire).
We assume that the feed back photon is produced on the anodic wire, the number of the feed back photon is proportional to the value A0.
for every direct hit (charge particle hitting the RICH or ionizing the gas near the surface of the photon detector) the resulting charge on the wires is calculated and the track number of the charged particle hitting the pad is stored. (cf. calcChargeOnWire)
check what you want to translate - probably real corners
nbNoisePads is the number of pads on which the electronic noise will produce a non zero signal. This number is extimated taken into account the threshold taht has been used for the pedestals.
the charge induced on the pad by the electronic noise is calculated according to a gauss function with sigma = fSigmaPad*fIncreaseNoise and mean 0. Anyway only values above threshold (fSigmaValue * fSigmaPad) are drawn
An additional charge is added on pads that have already been "fired" by a photon. This charge is drawn according to a Gauss distribution with sigma = fSigmaPad*fIncreaseNoise and mean = 0.
this function checks if the pads fired by the photons are above threshold. The procedure used to calculate the threshols is the same used for real data. The charge on the pad is composed of the signal induced by the photon plus the noise fluctuation. The float part of the mean value of the noise distribution is added to the charge then the charge value is casted to an integer and is compared to the threshold. If the charge is above threshold, the float part of the mean is subtracted from the total charge and a random number between 0 and 1 is added to the integer produce a float.
for each wire on which some charge has been deposited the corresponding coupled pads are calculated. The function updateCharge creates a HRichCalSim obj if the charge on the pad is greater than zero. A cut off threshold is applied to each pad in the execute func. after the digitilasation of all the hits. If the pad is hit twice in the same event, the charges corresponding to the 2 different hits are added. The particle track number is passed to the function updateCharge, too.
iWireNr is used to determine whether the wire is the left or the right one. Even wire numbers correspond to right. for the side pads a coupling costant is multiplied by the charge on the central pad, the upper an lower pad get an amount of charge that is position dependent.
This function calculate the charge ratio between the upper/lower pad and the central one
This function calculate the charge induced on the central pad. the coupling factor (75%) from the wire to the pad has been discarded since the charge distribution on the wire has been calculated fitting pads responses.
This function creates an HRichCalSim obj that corresponds to a fired pad, it calls the function updateTrack, that stores the corresponding track numbers.
this function stores the track numbers of parent particles of photons and of direct hits in a linear category (HRichTrack). This category is set sortable.