ROOT logo
AliRoot » PWGCF » FEMTOSCOPY » ALIFEMTO » AliTwoTrackRes

class AliTwoTrackRes: public AliAnalysisTask

345678901234567890123456789012345678901234567890123456789012345678901234567890
       1         2         3         4         5         6         7         8

 Tool to study two-track effects in ALICE for femtoscopic analyses
 J. Mercado <mercado@physi.uni-heidelberg.de> Last modified: 20.01.2011


Function Members (Methods)

public:
AliTwoTrackRes()
AliTwoTrackRes(const char* name)
AliTwoTrackRes(const AliTwoTrackRes& aTwoTrackRes)
virtual~AliTwoTrackRes()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidConnectInputData(Option_t*)
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
doubleCorr(TBits cl1, TBits cl2, TBits sh1, TBits sh2)
virtual voidCreateOutputObjects()
virtual voidTObject::Delete(Option_t* option = "")MENU
doubleDEta() const
doubleDist()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
doubleDPhi() const
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
doubleDTheta() const
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidExec(Option_t* opt = "")
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillNTuple1(double minsep, double sep, double corr, double qf, int ns1, int ns2)
voidFillNTuple2(double minsep, double sep, double corr, double qf, int ns1, int ns2)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliAnalysisTask::FinishTaskOutput()
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
virtual const char*TNamed::GetName() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
intGetNSha(TBits cl, TBits sh)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
TObject*AliAnalysisTask::GetPublishedData() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
virtual ULong_tTNamed::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
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
doubleMinDist(AliExternalTrackParam* trk1, AliExternalTrackParam* trk2)
voidNoSwap()
virtual Bool_tAliAnalysisTask::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
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)
AliTwoTrackRes&operator=(const AliTwoTrackRes& aTwoTrackRes)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
doubleQfac(TBits cl1, TBits cl2, TBits sh1, TBits sh2)
doubleQinv()
doubleQinv2()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
voidTObject::ResetBit(UInt_t f)
doubleRotTr2Phi()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutfile(char* outfil)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTpcEnt1(double x1, double y1, double z1)
voidSetTpcEnt2(double x2, double y2, double z2)
voidSetTr1(double pt1, double eta1, double phi1, double m)
voidSetTr2(double pt2, double eta2, double phi2, double m)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidSwap()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t* opt = "")
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:
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Bool_tTTask::fHasExecutedTrue if task has executed
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
TObjArray*AliAnalysisTask::fInputsArray of input slots
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
TStringTTask::fOptionOption specified in ExecuteTask
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
private:
TTree*fChainChain of ESD trees
AliESDEvent*fESDEventLeaves
TNtuple*fNTuple1True pairs
TNtuple*fNTuple2Mixed pairs
TObjArray*fOutContainerOutput data container
TStringfOutFilenameOutput filename
TLorentzVectorfPTotal four-momentum (lab)
TLorentzVectorfP1Four-momentum of track 1 (lab)
TLorentzVectorfP2Four-momentum of track 2 (lab)
TLorentzVectorfPb1Buffer single-track 1 for swapping
TLorentzVectorfPb2Buffer single-track 2 for swapping
TLorentzVectorfQFour-momentum difference (lab)
TVector3fTpcDistNominal TPC entrance separation
TVector3fTpcEnt1Nominal TPC entrance point track 1
TVector3fTpcEnt2Nominal TPC entrance point track 2
AliESDtrackCuts*fTrackCutsTrack cuts

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliTwoTrackRes

Function documentation

AliTwoTrackRes(const char* name)
AliTwoTrackRes(const AliTwoTrackRes& aTwoTrackRes)
Copy constructor
AliTwoTrackRes& operator=(const AliTwoTrackRes& aTwoTrackRes)
 Assignment operator
~AliTwoTrackRes()
{printf("AliTwoTrackRes destroyed\n");}
void ConnectInputData(Option_t* )
 Connect input data and initialize track cuts
void CreateOutputObjects()
 Create output objects
void Exec(Option_t* opt = "")
 Create true and mixed pairs keeping some track parameters
void Terminate(Option_t* opt = "")
 Write output and clean up
void SetTr1(double pt1, double eta1, double phi1, double m)
void SetTr2(double pt2, double eta2, double phi2, double m)
void SetTpcEnt1(double x1, double y1, double z1)
void SetTpcEnt2(double x2, double y2, double z2)
double MinDist(AliExternalTrackParam* trk1, AliExternalTrackParam* trk2)
 Calculate minimum track separation within the TPC
int GetNSha(TBits cl, TBits sh)
 Get number of shared clusters
double Corr(TBits cl1, TBits cl2, TBits sh1, TBits sh2)
 Calculate correlation coefficient
double Qfac(TBits cl1, TBits cl2, TBits sh1, TBits sh2)
 Quality factor from AliFemto
double RotTr2Phi()
void FillNTuple1(double minsep, double sep, double corr, double qf, int ns1, int ns2)
void FillNTuple2(double minsep, double sep, double corr, double qf, int ns1, int ns2)
AliTwoTrackRes()
{}
double Qinv2()
{fQ = fP2 - fP1; return -1.*fQ.M2();}
double Qinv()
{return TMath::Sqrt(TMath::Abs(Qinv2()));}
double Dist()
{fTpcDist = fTpcEnt2 - fTpcEnt1; return fTpcDist.Mag();}
double DEta() const
{return TMath::Abs(fP2.Eta()-fP1.Eta());}
double DTheta() const
{return fP2.Theta()-fP1.Theta();}
double DPhi() const
{return TVector2::Phi_mpi_pi(fP2.Phi()-fP1.Phi());}
void NoSwap()
{fPb1 = fP1; fPb2 = fP2;}
void Swap()
{fPb1 = fP2; fPb2 = fP1;}
void SetOutfile(char* outfil)
{fOutFilename = outfil;}