Compilation on Windows/Cygwin
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaCorrelation.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15 /* $Id$ */
16
17 /* History of cvs commits:
18  *
19  * $Log$
20  * Revision 1.2  2007/08/17 12:40:04  schutz
21  * New analysis classes by Gustavo Conesa
22  *
23  * Revision 1.1.2.1  2007/07/26 10:32:09  schutz
24  * new analysis classes in the the new analysis framework
25  *
26  *
27  */
28
29 //_________________________________________________________________________
30 // Base class for the analysis of gamma correlations  
31 //*-- Author: Gustavo Conesa (LNF-INFN) 
32 //////////////////////////////////////////////////////////////////////////////
33
34
35 // --- ROOT system ---
36
37 #include <TParticle.h>
38 #include <TH2.h>
39
40 //---- AliRoot system ----
41 #include "AliAnaGammaCorrelation.h" 
42 #include "AliNeutralMesonSelection.h" 
43 #include "Riostream.h"
44 #include "AliLog.h"
45
46 ClassImp(AliAnaGammaCorrelation)
47
48
49 //____________________________________________________________________________
50   AliAnaGammaCorrelation::AliAnaGammaCorrelation() : 
51     TObject(), fOutputContainer(0x0),   
52     fNeutralMesonSelection(0x0), fCorrelationType(0),
53     fJetsOnlyInCTS(0),
54     fMinPtHadron(0),
55     fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.), 
56     fRatioMaxCut(0.), fRatioMinCut(0.)
57 {
58   //Default Ctor
59
60   //Initialize parameters
61
62   if(!fNeutralMesonSelection)
63     fNeutralMesonSelection = new AliNeutralMesonSelection();
64   
65   //Initialize parameters
66   InitParameters();
67 }
68
69 //____________________________________________________________________________
70 AliAnaGammaCorrelation::AliAnaGammaCorrelation(const AliAnaGammaCorrelation & g) :   
71   TObject(), fOutputContainer(g.fOutputContainer),  
72   fNeutralMesonSelection(g.fNeutralMesonSelection),
73   fCorrelationType(g.fCorrelationType),
74   fJetsOnlyInCTS(g.fJetsOnlyInCTS), 
75   fMinPtHadron(g.fMinPtHadron),
76   fDeltaPhiMaxCut(g.fDeltaPhiMaxCut), fDeltaPhiMinCut(g.fDeltaPhiMinCut), 
77   fRatioMaxCut(g.fRatioMaxCut), fRatioMinCut(g.fRatioMinCut) 
78 {
79   // cpy ctor
80
81 }
82
83 //_________________________________________________________________________
84 AliAnaGammaCorrelation & AliAnaGammaCorrelation::operator = (const AliAnaGammaCorrelation & source)
85 {
86   // assignment operator
87
88   if(this == &source)return *this;
89   ((TObject *)this)->operator=(source);
90
91   fOutputContainer = source.fOutputContainer;  
92   fNeutralMesonSelection = source.fNeutralMesonSelection ;
93   fCorrelationType = source.fCorrelationType;
94   fJetsOnlyInCTS = source.fJetsOnlyInCTS ;
95
96   fMinPtHadron = source.fMinPtHadron ;
97   fDeltaPhiMaxCut = source.fDeltaPhiMaxCut ; fDeltaPhiMinCut = source.fDeltaPhiMinCut ; 
98   fRatioMaxCut = source.fRatioMaxCut ; fRatioMinCut = source.fRatioMinCut ; 
99
100
101
102   return *this;
103
104 }
105
106 //____________________________________________________________________________
107 AliAnaGammaCorrelation::~AliAnaGammaCorrelation() 
108 {
109    // Remove all pointers except analysis output pointers.
110  
111 }
112
113  //____________________________________________________________________________
114 void AliAnaGammaCorrelation::InitParameters()
115 {
116  
117   //Initialize the parameters of the analysis.
118   fCorrelationType = kHadron ;
119   //-----------kHadron----------------
120   fMinPtHadron = 0.   ;
121   //-----------kHadron & kJetLeadCone----------------
122   fJetsOnlyInCTS = kFALSE ;
123   fDeltaPhiMaxCut      = 4.5;
124   fDeltaPhiMinCut      = 1.5 ;
125   //-----------kJetLeadCone----------------
126   fRatioMaxCut = 1.0 ; 
127   fRatioMinCut = 0.1 ; 
128
129 }
130
131 //__________________________________________________________________
132 void AliAnaGammaCorrelation::Print(const Option_t * opt) const
133 {
134
135   //Print some relevant parameters set for the analysis
136   if(! opt)
137     return;
138   
139   Info("Print", "%s %s", GetName(), GetTitle() ) ;
140   printf("Correlation           =     %d\n", fCorrelationType) ;  
141   
142   printf("pT Hadron       >    %f\n", fMinPtHadron) ; 
143   printf("Phi gamma-Hadron      <     %f\n", fDeltaPhiMaxCut) ; 
144   printf("Phi gamma-Hadron      >     %f\n", fDeltaPhiMinCut) ;
145   printf("Ratio pt hadron/gamma      <     %f\n", fRatioMaxCut) ; 
146   printf("Ratio pt hadron/gamma      >     %f\n", fRatioMinCut) ;
147
148