]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/Base/AliAnalyseLeadingTrackUE.h
support for central and semicentral triggers
[u/mrichter/AliRoot.git] / PWGCF / Correlations / Base / AliAnalyseLeadingTrackUE.h
CommitLineData
a75aacd6 1//-*- Mode: C++ -*-
2#ifndef ALIANALYSELEADINGTRACKUE_H
3#define ALIANALYSELEADINGTRACKUE_H
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////
8//---------------------------------------------
9// Class for transverse regions analysis w.r.t leading track
10//---------------------------------------------
11////////////////////////////////////////////////
12
13// --- ROOT system ---
14#include <TObject.h>
15
16class AliAODEvent;
144bd037 17class AliAODInputHandler;
a75aacd6 18class AliESDEvent;
3712ba26 19class AliESDtrackCuts;
a75aacd6 20class AliAODTrack;
21class AliESDTrack;
22class AliGenPythiaEventHeader;
23class AliInputEventHandler;
144bd037 24class AliLog;
a75aacd6 25class AliMCEvent;
26class AliStack;
27class AliVParticle;
28class TClonesArray;
29class TObject;
144bd037 30class TROOT;
a75aacd6 31class TVector3;
32
33class AliAnalyseLeadingTrackUE : public TObject {
34
35 public:
36
37 AliAnalyseLeadingTrackUE(); //constructor
38 AliAnalyseLeadingTrackUE(const AliAnalyseLeadingTrackUE & g); //copy constructor
39 AliAnalyseLeadingTrackUE & operator = (const AliAnalyseLeadingTrackUE & g); //assignment operator
40 virtual ~AliAnalyseLeadingTrackUE(); //virtual destructor
41
42 // Setters
e0331fd9 43 void SetParticleSelectionCriteria(Int_t filterbit, Bool_t onlyhadrons, Double_t etacut, Double_t ptMin = 0) { fFilterBit = filterbit;
a75aacd6 44 fOnlyHadrons = onlyhadrons;
e0331fd9 45 fTrackEtaCut = etacut;
46 fTrackPtMin = ptMin;}
5cabd2cd 47 void SetEventSelection(UInt_t bits) { fEventSelection = bits; }
a75aacd6 48 void SetDebug(Int_t debug) { fDebug = debug; }
3712ba26 49 Bool_t ApplyCuts(TObject* track); // Reproduces the cuts of the corresponding bit in the ESD->AOD filtering
50 void DefineESDCuts(Int_t filterbit); // Emulate filterbit
a75aacd6 51 TObjArray* FindLeadingObjects(TObject* obj); // Looks for leading track or MC particle
52 TObjArray* GetMinMaxRegion(TList* transv1, TList* transv2); // Sorts the transverse regions in MIN and MAX
53 Int_t NParticles(TObject *obj); // Counts tracks or MC particles
b1831bcb 54 AliVParticle* ParticleWithCuts(TObject* obj, Int_t ipart, Bool_t onlyprimaries = kTRUE, Int_t particleSpecies = -1); // Returns track or MC particle at position "ipart" if passes selection criteria
a75aacd6 55 void QSortTracks(TObjArray &a, Int_t first, Int_t last); // Sort by pT an array of AliVParticles
56 TObjArray* SortRegions(const AliVParticle* leading, TObject* obj, TObject* arrayMC, Bool_t onlyprimaries = kTRUE); // Assign particles to towards, away or transverse regions
e0331fd9 57 TObjArray* GetAcceptedParticles(TObject* obj, TObject* arrayMC, Bool_t onlyprimaries = kTRUE, Int_t particleSpecies = -1, Bool_t useEtaPtCuts = kFALSE);
a75aacd6 58 Bool_t TriggerSelection(const TObject* obj); // Select good triggers with AliPhysicsSelection class
59 Bool_t VertexSelection(const TObject* obj, Int_t ntracks, Double_t zed); // Vertex selection: see implementation
60
61 private:
62 Int_t fDebug; // debug flag
63 Int_t fFilterBit; // track selection cuts
64 Bool_t fOnlyHadrons; // consider only charged Pions, Protons and Kaons
65 Double_t fTrackEtaCut; // pseudo-rapidity limit of transverse regions
e0331fd9 66 Double_t fTrackPtMin; // pt limit for selecting particles
5cabd2cd 67 UInt_t fEventSelection; // bit for physics selection
3712ba26 68 AliESDtrackCuts *fEsdTrackCuts; // set of cuts when reading ESD
69 AliESDtrackCuts *fEsdTrackCutsSPD; // set of cuts when reading ESD
70 AliESDtrackCuts *fEsdTrackCutsSDD; // set of cuts when reading ESD
71 ClassDef(AliAnalyseLeadingTrackUE,0)
a75aacd6 72};
73#endif