BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnEfficiency Class Reference

#include <BmnEfficiency.h>

Inheritance diagram for BmnEfficiency:
Collaboration diagram for BmnEfficiency:

Public Member Functions

 BmnEfficiency ()
 BmnEfficiency (FairRunAna *, BmnInnerTrackerGeometryDraw *, TString, Int_t nEvents=0)
 BmnEfficiency (FairRunAna *, TString, Int_t nEvents=0)
void SetMinNHitsPerGlobTrack (Int_t nHits)
void SetMinNHitsPerSiliconTrack (Int_t nHits)
void SetMinNHitsPerGemTrack (Int_t nHits)
void Efficiency (TClonesArray *, TClonesArray *effSilicon, map< Int_t, vector< pair< Double_t, Double_t > > >, map< Int_t, vector< pair< Double_t, Double_t > > >)
virtual ~BmnEfficiency ()
TString GetGemZone (BmnHit *)
BmnEfficiency & operator= (const BmnEfficiency &eff)
Public Member Functions inherited from TNamed
 TNamed ()
 TNamed (const char *name, const char *title)
 TNamed (const TNamed &named)
 TNamed (const TString &name, const TString &title)
virtual ~TNamed ()
void Clear (Option_t *option="") override
TObject * Clone (const char *newname="") const override
Int_t Compare (const TObject *obj) const override
void Copy (TObject &named) const override
virtual void FillBuffer (char *&buffer)
const char * GetName () const override
const char * GetTitle () const override
ULong_t Hash () const override
TClass * IsA () const override
Bool_t IsSortable () const override
void ls (Option_t *option="") const override
TNamed & operator= (const TNamed &rhs)
void Print (Option_t *option="") const override
virtual void SetName (const char *name)
virtual void SetNameTitle (const char *name, const char *title)
virtual void SetTitle (const char *title="")
virtual Int_t Sizeof () const
void Streamer (TBuffer &) override
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
Public Member Functions inherited from TObject
 TObject ()
 TObject (const TObject &object)
virtual ~TObject ()
void AbstractMethod (const char *method) const
virtual void AppendPad (Option_t *option="")
virtual void Browse (TBrowser *b)
ULong_t CheckedHash ()
virtual const char * ClassName () const
virtual void Delete (Option_t *option="")
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
virtual void Draw (Option_t *option="")
virtual void DrawClass () const
virtual TObject * DrawClone (Option_t *option="") const
virtual void Dump () const
virtual void Error (const char *method, const char *msgfmt,...) const
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
virtual void Fatal (const char *method, const char *msgfmt,...) const
virtual TObject * FindObject (const char *name) const
virtual TObject * FindObject (const TObject *obj) const
virtual Option_t * GetDrawOption () const
virtual const char * GetIconName () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
virtual Option_t * GetOption () const
virtual UInt_t GetUniqueID () const
virtual Bool_t HandleTimer (TTimer *timer)
Bool_t HasInconsistentHash () const
virtual void Info (const char *method, const char *msgfmt,...) const
virtual Bool_t InheritsFrom (const char *classname) const
virtual Bool_t InheritsFrom (const TClass *cl) const
virtual void Inspect () const
void InvertBit (UInt_t f)
Bool_t IsDestructed () const
virtual Bool_t IsEqual (const TObject *obj) const
virtual Bool_t IsFolder () const
R__ALWAYS_INLINE Bool_t IsOnHeap () const
R__ALWAYS_INLINE Bool_t IsZombie () const
void MayNotUse (const char *method) const
virtual Bool_t Notify ()
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
void operator delete (void *ptr)
void operator delete (void *ptr, void *vp)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, void *vp)
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
TObject & operator= (const TObject &rhs)
virtual void Paint (Option_t *option="")
virtual void Pop ()
virtual Int_t Read (const char *name)
virtual void RecursiveRemove (TObject *obj)
void ResetBit (UInt_t f)
virtual void SaveAs (const char *filename="", Option_t *option="") const
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
virtual void SetDrawOption (Option_t *option="")
virtual void SetUniqueID (UInt_t uid)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void UseCurrentStyle ()
virtual void Warning (const char *method, const char *msgfmt,...) const
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const

Protected Attributes

BmnGemStripStationSet * gem
BmnSiliconStationSet * silicon
DstEventHeader * fHeader
TClonesArray * fInnerHits
TClonesArray * fGemHits
TClonesArray * fSiliconHits
TClonesArray * fGlobTracks
TClonesArray * fGemTracks
TClonesArray * fSiliconTracks
TClonesArray * fVertices
TChain * dstChain
Int_t fNEvents
FairField * fField
BmnNewFieldMap * fMagField
BmnKalmanFilter * fKalman
Int_t fNHits
Protected Attributes inherited from TNamed
TString fName
TString fTitle
Protected Attributes inherited from TObject
 kOnlyPrepStep

Private Member Functions

void fillEfficiency (inputForEfficiency &&in)
void FillAcceptanceMaps (TClonesArray *, TClonesArray *SILs=nullptr)
TString GetDetector (BmnHit *hit)
Double_t FindZ (Int_t stat)
Bool_t isVirtualHitInAcceptance (Int_t, vector< BmnHit * >, pair< FairTrackParam, FairTrackParam >, pair< Double_t, Double_t > &)
Int_t FindBin (Double_t y, Int_t stat, map< Int_t, vector< pair< Double_t, Double_t > > > pairMap)

Private Attributes

Bool_t isGoodDst
map< pair< Int_t, Int_t >, Double_t > fStatZ
map< pair< Int_t, Int_t >, vector< Double_t > > fStatAcceptance
Int_t fNHitsSilicon
Int_t fNHitsGem

Additional Inherited Members

Public Types inherited from TObject
enum  EDeprecatedStatusBits
enum  EStatusBits
Static Public Member Functions inherited from TNamed
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
Static Public Member Functions inherited from TObject
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
static Bool_t GetObjectStat ()
static void SetDtorOnly (void *obj)
static void SetObjectStat (Bool_t stat)
Public Attributes inherited from TObject
 kIsOnHeap
 kNotDeleted
 kZombie
 kInconsistent
 kBitMask
 kSingleKey
 kOverwrite
 kWriteDelete
 kObjInCanvas
 kCanDelete
 kMustCleanup
 kIsReferenced
 kHasUUID
 kCannotPick
 kNoContextMenu
 kInvalidObject
Protected Member Functions inherited from TNamed
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
void MakeZombie ()
Static Protected Member Functions inherited from TObject
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE)

Detailed Description

Definition at line 479 of file BmnEfficiency.h.

Constructor & Destructor Documentation

◆ BmnEfficiency() [1/3]

BmnEfficiency::BmnEfficiency ( )

Definition at line 5 of file BmnEfficiency.cxx.

References dstChain, fField, fGemHits, fGemTracks, fGlobTracks, fHeader, fInnerHits, fKalman, fMagField, fNEvents, fNHits, fSiliconHits, fSiliconTracks, fVertices, gem, BmnInnerTrackerGeometryDraw::GetGemGeometry(), BmnInnerTrackerGeometryDraw::GetSiliconGeometry(), and silicon.

Referenced by BmnDataAnalRun7::BmnDataAnalRun7(), BmnDataAnalRun7::calcResiduals(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BmnEfficiency() [2/3]

BmnEfficiency::BmnEfficiency ( FairRunAna * fAna,
BmnInnerTrackerGeometryDraw * fInnTracker,
TString dstFile,
Int_t nEvents = 0 )

◆ BmnEfficiency() [3/3]

BmnEfficiency::BmnEfficiency ( FairRunAna * fAna,
TString dstFile,
Int_t nEvents = 0 )

Definition at line 209 of file BmnEfficiency.cxx.

References TString::Data(), dstChain, f, fField, fGemHits, fGemTracks, fGlobTracks, fHeader, fInnerHits, fKalman, fMagField, fNEvents, fNHits, fNHitsGem, fNHitsSilicon, fSiliconHits, fSiliconTracks, fVertices, gem, UniRun::GetFieldVoltage(), UniRun::GetRun(), isGoodDst, and silicon.

Here is the call graph for this function:

◆ ~BmnEfficiency()

virtual BmnEfficiency::~BmnEfficiency ( )
inlinevirtual

Definition at line 497 of file BmnEfficiency.h.

References dstChain, fKalman, and fMagField.

Member Function Documentation

◆ Efficiency()

void BmnEfficiency::Efficiency ( TClonesArray * effGem,
TClonesArray * effSilicon,
map< Int_t, vector< pair< Double_t, Double_t > > > gYr,
map< Int_t, vector< pair< Double_t, Double_t > > > sYr )

◆ FillAcceptanceMaps()

void BmnEfficiency::FillAcceptanceMaps ( TClonesArray * GEMs,
TClonesArray * SILs = nullptr )
private

Definition at line 135 of file BmnEfficiency.cxx.

References fStatAcceptance, fStatZ, gem, TObjArray::GetEntriesFast(), InnerTrackerParams::module(), silicon, InnerTrackerParams::station(), TObject::TClonesArray, TObjArray::UncheckedAt(), TVector3::X(), x, InnerTrackerParams::xyz(), TVector3::Y(), y, TVector3::Z(), and z.

Referenced by BmnEfficiency().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillEfficiency()

void BmnEfficiency::fillEfficiency ( inputForEfficiency && in)
private

Definition at line 516 of file BmnEfficiency.cxx.

References TMath::Abs(), EffStore::Detector(), EffStore2D::efficiency(), EffStore2D::efficiency4range(), TEfficiency::Fill(), FindBin(), GetDetector(), BmnHit::GetStation(), isVirtualHitInAcceptance(), silicon, and EffStore::Station().

Referenced by Efficiency().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindBin()

Int_t BmnEfficiency::FindBin ( Double_t y,
Int_t stat,
map< Int_t, vector< pair< Double_t, Double_t > > > pairMap )
inlineprivate

Definition at line 565 of file BmnEfficiency.h.

References max(), min(), and y.

Referenced by fillEfficiency().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindZ()

Double_t BmnEfficiency::FindZ ( Int_t stat)
inlineprivate

Definition at line 558 of file BmnEfficiency.h.

References fStatZ.

Referenced by isVirtualHitInAcceptance().

Here is the caller graph for this function:

◆ GetDetector()

TString BmnEfficiency::GetDetector ( BmnHit * hit)
inlineprivate

Definition at line 545 of file BmnEfficiency.h.

References gem, and z.

Referenced by Efficiency(), and fillEfficiency().

Here is the caller graph for this function:

◆ GetGemZone()

TString BmnEfficiency::GetGemZone ( BmnHit * hit)

Definition at line 626 of file BmnEfficiency.cxx.

References gem, BmnHit::GetModule(), BmnHit::GetStation(), BmnGemStripLayer::IsPointInsideStripLayer(), x, and y.

Here is the call graph for this function:

◆ isVirtualHitInAcceptance()

Bool_t BmnEfficiency::isVirtualHitInAcceptance ( Int_t iHit,
vector< BmnHit * > hits,
pair< FairTrackParam, FairTrackParam > params,
pair< Double_t, Double_t > & xyPred )
private

Definition at line 457 of file BmnEfficiency.cxx.

References FindZ(), fKalman, fStatAcceptance, and kBMNERROR.

Referenced by fillEfficiency().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

BmnEfficiency & BmnEfficiency::operator= ( const BmnEfficiency & eff)
inline

Definition at line 511 of file BmnEfficiency.h.

References BmnEfficiency(), dstChain, fField, fGemHits, fGemTracks, fGlobTracks, fKalman, fMagField, fSiliconHits, fSiliconTracks, and fVertices.

Here is the call graph for this function:

◆ SetMinNHitsPerGemTrack()

void BmnEfficiency::SetMinNHitsPerGemTrack ( Int_t nHits)
inline

Definition at line 490 of file BmnEfficiency.h.

References fNHitsGem.

◆ SetMinNHitsPerGlobTrack()

void BmnEfficiency::SetMinNHitsPerGlobTrack ( Int_t nHits)
inline

Definition at line 486 of file BmnEfficiency.h.

References fNHits.

◆ SetMinNHitsPerSiliconTrack()

void BmnEfficiency::SetMinNHitsPerSiliconTrack ( Int_t nHits)
inline

Definition at line 488 of file BmnEfficiency.h.

References fNHitsSilicon.

Member Data Documentation

◆ dstChain

TChain* BmnEfficiency::dstChain
protected

◆ fField

FairField* BmnEfficiency::fField
protected

Definition at line 600 of file BmnEfficiency.h.

Referenced by BmnEfficiency(), BmnEfficiency(), BmnEfficiency(), and operator=().

◆ fGemHits

TClonesArray* BmnEfficiency::fGemHits
protected

◆ fGemTracks

TClonesArray* BmnEfficiency::fGemTracks
protected

◆ fGlobTracks

TClonesArray* BmnEfficiency::fGlobTracks
protected

◆ fHeader

DstEventHeader* BmnEfficiency::fHeader
protected

Definition at line 587 of file BmnEfficiency.h.

Referenced by BmnEfficiency(), BmnEfficiency(), and BmnEfficiency().

◆ fInnerHits

TClonesArray* BmnEfficiency::fInnerHits
protected

Definition at line 589 of file BmnEfficiency.h.

Referenced by BmnEfficiency(), BmnEfficiency(), and BmnEfficiency().

◆ fKalman

◆ fMagField

BmnNewFieldMap* BmnEfficiency::fMagField
protected

◆ fNEvents

◆ fNHits

Int_t BmnEfficiency::fNHits
protected

◆ fNHitsGem

Int_t BmnEfficiency::fNHitsGem
private

Definition at line 540 of file BmnEfficiency.h.

Referenced by BmnEfficiency(), BmnEfficiency(), Efficiency(), and SetMinNHitsPerGemTrack().

◆ fNHitsSilicon

Int_t BmnEfficiency::fNHitsSilicon
private

◆ fSiliconHits

TClonesArray* BmnEfficiency::fSiliconHits
protected

◆ fSiliconTracks

TClonesArray* BmnEfficiency::fSiliconTracks
protected

◆ fStatAcceptance

map<pair<Int_t, Int_t>, vector<Double_t> > BmnEfficiency::fStatAcceptance
private

Definition at line 538 of file BmnEfficiency.h.

Referenced by FillAcceptanceMaps(), and isVirtualHitInAcceptance().

◆ fStatZ

map<pair<Int_t, Int_t>, Double_t> BmnEfficiency::fStatZ
private

Definition at line 537 of file BmnEfficiency.h.

Referenced by Efficiency(), FillAcceptanceMaps(), and FindZ().

◆ fVertices

TClonesArray* BmnEfficiency::fVertices
protected

◆ gem

◆ isGoodDst

Bool_t BmnEfficiency::isGoodDst
private

Definition at line 535 of file BmnEfficiency.h.

Referenced by BmnEfficiency(), BmnEfficiency(), and Efficiency().

◆ silicon


The documentation for this class was generated from the following files: