Line data Source code
1 : #ifndef ALIAODPWG4PARTICLECORRELATION_H
2 : #define ALIAODPWG4PARTICLECORRELATION_H
3 : /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : //-------------------------------------------------------------------------
7 : /// \class AliAODPWG4ParticleCorrelation
8 : /// \brief Daughter of AliAODPWG4Particle that includes correlation part
9 : ///
10 : /// AOD objects class in use in the CaloTrackCorrelations
11 : /// analysis pacackge ($ALICE_PHYSICS/PWGGA/CaloTrackCorrelations).
12 : /// Common format for selected tracks or calorimeter clusters to give as input
13 : /// for different analysis. Basically it contains the particle kinematics
14 : /// and some detailed parameters of the calorimeter cluster and of the intermediate
15 : /// steps of the analysis.
16 : ///
17 : /// Daughter of AliAODPWG4Particle, it includes correlations with respect
18 : /// this (trigger) object: jets, tracks.
19 : ///
20 : /// More information can be found in this [twiki](https://twiki.cern.ch/twiki/bin/viewauth/ALICE/PhotonHadronCorrelations).
21 : ///
22 : /// \author Gustavo Conesa Balbastre <Gustavo.Conesa.Balbastre@cern.ch>, LPSC-IN2P3-CNRS
23 : //-------------------------------------------------------------------------
24 :
25 : //-- ROOT system --
26 : #include "TList.h"
27 : #include "AliAODJet.h"
28 :
29 : //-- Analysis system
30 : #include "AliAODPWG4Particle.h"
31 :
32 : class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
33 :
34 : public:
35 :
36 : AliAODPWG4ParticleCorrelation();
37 : AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
38 : AliAODPWG4ParticleCorrelation(TLorentzVector & p);
39 : AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);
40 : AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& p);
41 :
42 : virtual ~AliAODPWG4ParticleCorrelation();
43 : virtual void Clear(const Option_t* /*opt*/);
44 :
45 : // Deal with the arrays of correlated objects
46 : virtual TObjArray* GetObjArray(TString refname) const
47 0 : { if(fListOfObjArrays) return (TObjArray*) fListOfObjArrays->FindObject(refname);
48 0 : else return 0x0 ; }
49 :
50 0 : virtual TList* GetObjArrayList() const { return fListOfObjArrays ; }
51 0 : virtual void AddObjArray(TObjArray * refarray) { fListOfObjArrays->Add(refarray) ; }
52 :
53 : // General info on leading particle opposite to trigger
54 0 : virtual Int_t GetLeadingDetector() const { return fLeadingDetector ; }
55 0 : virtual void SetLeadingDetector(Int_t d) { fLeadingDetector = d ; }
56 :
57 0 : virtual TLorentzVector GetLeading() const { return fLeading ; }
58 0 : virtual void SetLeading(TLorentzVector lead) { fLeading = lead ; }
59 :
60 : // trigger-Jet correlation
61 0 : virtual TLorentzVector GetCorrelatedJet() const { return fCorrJet ; }
62 0 : virtual void SetCorrelatedJet(TLorentzVector jet) { fCorrJet = jet ; }
63 :
64 0 : virtual TLorentzVector GetCorrelatedBackground() const { return fCorrBkg ; }
65 0 : virtual void SetCorrelatedBackground(TLorentzVector bkg) { fCorrBkg = bkg ; }
66 :
67 0 : virtual void SetRefJet(AliAODJet* jet) { fRefJet = jet ; }
68 0 : virtual AliAODJet* GetJet() const { return ((AliAODJet*) fRefJet.GetObject()) ; }
69 0 : virtual TRef GetRefJet() const { return fRefJet ; }
70 :
71 : virtual void Print(Option_t* /*option*/) const;
72 :
73 : private:
74 :
75 : Int_t fLeadingDetector; ///< Detector where leading particle was measured.
76 : TLorentzVector fLeading; ///< Leading Particle 4-momentum vector on opposite side of trigger particle
77 : TLorentzVector fCorrJet; ///< Jet 4-momentum vector
78 : TLorentzVector fCorrBkg; ///< Background 4-momentum vector
79 : TRef fRefJet; ///< Reference to jet found with JETAN and correlated with particle
80 : TList * fListOfObjArrays ; ///< List with correlation reference arrays
81 :
82 : /// Assignment operator not implemented.
83 : AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& p);
84 :
85 : /// \cond CLASSIMP
86 170 : ClassDef(AliAODPWG4ParticleCorrelation, 6);
87 : /// \endcond
88 :
89 : };
90 :
91 :
92 : #endif //ALIAODPWG4PARTICLECORRELATION_H
|