ROOT logo
AliRoot » PWG » MUON » AliAnalysisMuMuCutElement

class AliAnalysisMuMuCutElement: public TObject

Function Members (Methods)

public:
AliAnalysisMuMuCutElement()
AliAnalysisMuMuCutElement(AliAnalysisMuMuCutElement::ECutType expectedType, TObject& cutObject, const char* cutMethodName, const char* cutMethodPrototype, const char* defaultParameters)
virtual~AliAnalysisMuMuCutElement()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
static const char*CutTypeName(AliAnalysisMuMuCutElement::ECutType type)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
const char*GetCallMethodName() const
const char*GetCallMethodProto() const
const Long_t*GetCallParams() const
TObject*GetCutObject() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tIsEqual(const TObject* obj) const
Bool_tIsEventCutter() const
Bool_tIsEventHandlerCutter() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsTrackCutter() const
Bool_tIsTrackPairCutter() const
Bool_tIsTriggerClassCutter() const
virtual Bool_tIsValid() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::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)
virtual voidTObject::Paint(Option_t* option = "")
virtual Bool_tPass(const AliVEvent& event) const
virtual Bool_tPass(const AliInputEventHandler& eventHandler) const
virtual Bool_tPass(const AliVParticle& particle) const
virtual Bool_tPass(const AliVParticle& p1, const AliVParticle& p2) const
virtual Bool_tPass(const TString& firedTriggerClasses, TString& acceptedTriggerClasses, UInt_t L0, UInt_t L1, UInt_t L2) const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
AliAnalysisMuMuCutElement(const AliAnalysisMuMuCutElement& rhs)
Bool_tCallCutMethod(Long_t p) const
Bool_tCallCutMethod(Long_t p1, Long_t p2) const
Int_tCountOccurences(const TString& prototype, const char* search) const
voidInit(AliAnalysisMuMuCutElement::ECutType type = kAny) const
AliAnalysisMuMuCutElement&operator=(const AliAnalysisMuMuCutElement& rhs)

Data Members

public:
enum ECutType { kEvent
kTrack
kTrackPair
kTriggerClass
kAny
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tfIsEventCutterwhether or not the cut is an event cutter
Bool_tfIsEventHandlerCutterwhether or not the cut is an event handler cutter
Bool_tfIsTrackCutterwhether or not the cut is a track cutter
Bool_tfIsTrackPairCutterwhether or not the cut is a track pair cutter
Bool_tfIsTriggerClassCutterwhether or not the cut is a trigger class cutter
TStringfNamename of the cut
private:
vector<Long_t>fCallParams! vector of parameters for the fCutMethod
TMethodCall*fCutMethod! cut method
TStringfCutMethodNamemethod (of fCutObject) to be called to do the cut
TStringfCutMethodPrototypeprototype of the method to be called to do the cut
TObject*fCutObjectpointer (not owner) to the object doing the actual cut work
TStringfDefaultParametersdefault parameters of the cut method (might be empty)
vector<Double_t>fDoubleParams! temporary vector to hold the references
Int_tfNofParamsnumber of parameters

Class Charts

Inheritance Chart:
TObject
AliAnalysisMuMuCutElement
AliAnalysisMuMuCutElementBar

Function documentation

AliAnalysisMuMuCutElement()
 Default ctor, leading to an invalid cut object
AliAnalysisMuMuCutElement(AliAnalysisMuMuCutElement::ECutType expectedType, TObject& cutObject, const char* cutMethodName, const char* cutMethodPrototype, const char* defaultParameters)
   * Construct a cut, which is a proxy to another method of (most probably) another object
   *
   * \param expectedType the type of cut which is expected (this cut will be invalidated if
   * the actual method does not comply with this type)
   * \param cutObject the object which has the cut method
   * \param cutMethodName the name of the method of cutObject that should do the cut work
   * \param cutMethodPrototype the prototype (i.e. list of arguments) of cutMethod
   * \param defaultParameters values of the default parameters (if any) of the cutMethod
   *
   * See the \ref Init method for details.

~AliAnalysisMuMuCutElement()
 Dtor
Bool_t CallCutMethod(Long_t p) const
 Call the cut method with one parameter
Bool_t CallCutMethod(Long_t p1, Long_t p2) const
 Call the cut method with two parameters
Int_t CountOccurences(const TString& prototype, const char* search) const
 Count the number of times "search" is found in prototype
const char* CutTypeName(AliAnalysisMuMuCutElement::ECutType type)
 Convert the enum into a string
const char* GetCallMethodName() const
 Return the cut method name
const char* GetCallMethodProto() const
 Return the cut method prototype
void Init(AliAnalysisMuMuCutElement::ECutType type = kAny) const
 Build the non-persistent members (TMethodCalls)
    *
    * Each cut method XXXX must have
    * a companion method, called NameOfXXXX(TString& nameOfCut) which fills the nameOfCut
    * string with the name of cut (using the default parameter values if need be to distinguish
    * different cuts using the same method).
    * The cut method we're proxy-ing can not be of any kind. We basically only recognize the
    * following prototypes (more or less based on the Pass() method prototypes). The checks
    * performed below to ensure that are far from being bullet-proof though... You've been
    * warned !
    *
    * For event cutters (3 or them instead of just one because of the, imo,
    * improper event/eventhandler interfaces we currently have in AliRoot)
    *
    * Bool_t XXXX(const AliVEvent&, ...)
    * Bool_t XXXX(const AliVEventHandler&, ...)
    * Bool_t XXXX(const AliInputEventHandler&, ...)
    *
    * For track cutters :
    *
    * Bool_t XXXX(const AliVParticle&, ...)
    *
    * For track pairs cutters :
    *
    * Bool_t XXXX(const AliVParticle&, const AliVParticle&, ...)
    *
    * For trigger class cutters :
    *
    * Bool_t XXXX(const TString& firedTriggerClasses, TString& acceptedTriggerClasses)
    *
    * where ... stands for optional arguments (different from VEvent VParticle, etc...),
    * which can have default values
    *
    * Note that Root reflexion does not allow (yet?) to check for constness of the arguments,
    * so AliVEvent& and const AliVEvent& will be the same.
    *
    *

Bool_t IsEqual(const TObject* obj) const
 Whether we're the same cut as obj
Bool_t Pass(const AliVEvent& event) const
 Whether the event pass this cut
Bool_t Pass(const AliInputEventHandler& eventHandler) const
 Whether the eventHandler pass this cut
Bool_t Pass(const AliVParticle& particle) const
 Whether the particle pass this cut
Bool_t Pass(const AliVParticle& p1, const AliVParticle& p2) const
 Whether the particle pair pass this cut
Bool_t Pass(const TString& firedTriggerClasses, TString& acceptedTriggerClasses, UInt_t L0, UInt_t L1, UInt_t L2) const
 Whether the firedTriggerClasses pass the cut.
   * \param firedTriggerClasses (input) list of fired trigger classes (separated by space)
   * \param acceptedTriggerClasses (output) list of accepted classes
   * \param L0 (input, optional) level 0 trigger mask
   * \param L1 (input, optional) level 1 trigger mask
   * \param L2 (input, optional) level 2 trigger mask

void Print(Option_t* opt = "") const
 Printout of the cut information
AliAnalysisMuMuCutElement()
Bool_t IsValid() const
{ return (fCutMethod != 0x0); }
const char* GetName() const
{ return fName.Data(); }
Bool_t IsEventCutter() const
{ return fIsEventCutter; }
Bool_t IsEventHandlerCutter() const
Bool_t IsTrackCutter() const
{ return fIsTrackCutter; }
Bool_t IsTrackPairCutter() const
{ return fIsTrackPairCutter; }
Bool_t IsTriggerClassCutter() const
TObject* GetCutObject() const
{ return fCutObject; }
const Long_t* GetCallParams() const
{ return &fCallParams[0]; }
AliAnalysisMuMuCutElement& operator=(const AliAnalysisMuMuCutElement& rhs)
 not implemented on purpose