]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/GammaConv/AliAnalysisTaskGammaConversion.h
prohibiting copy constructor and assignment operator
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAnalysisTaskGammaConversion.h
index 8abeda845475fde8d7a6f8cfdeb408f300f4f39f..4921bed76f77c72889d67559741f3c52040881ab 100644 (file)
 #include <vector>
 #include "AliV0Reader.h"
 #include "AliGammaConversionBGHandler.h"
-//#include "TRandom3.h"
+#include "TRandom3.h"
+#include "TF1.h"
+#include "AliMultiplicity.h"
 //#include "AliCFManager.h"  // for CF
 //#include "AliCFContainer.h"   // for CF
+#include "AliAODConversionMother.h"
 
-class AliGammaConversionAODObject;
+
+class AliAODPWG4Particle;
+class AliAODConversionPhoton;
+class AliAODConversionMother;
+class AliKFConversionPhoton;
+class AliKFConversionMother;
 class TNtuple;
 class AliGammaConversionHistograms;
 class AliESDv0;
@@ -36,6 +44,7 @@ class AliTriggerAnalysis;
 class AliCFManager; // for CF
 class AliCFContainer; // for CF
 class TRandom3;
+class TF1;
 
 class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
 {
@@ -61,7 +70,7 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   void ProcessGammasForNeutralMesonAnalysis();
   void ProcessGammasForOmegaMesonAnalysis();
   //  void ProcessConvPHOSGammasForNeutralMesonAnalysis();
-  void RecalculateV0ForGamma();
+//  void RecalculateV0ForGamma();
   // for CF
   void SetCFManager(AliCFManager * const io) {fCFManager = io;};
   AliCFManager *GetCFManager() const {return fCFManager;}
@@ -72,6 +81,11 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   void SetAODBranchName(TString name)  {fAODBranchName = name ;}       
   void SetForceAOD(Bool_t forceAOD ) { fKFForceAOD = forceAOD; }
   void FillAODWithConversionGammas();
+  void AddGammaToAOD(AliKFConversionPhoton * kfParticle);
+ // void AddPionToAOD(AliKFConversionMother * kfParticle);
+ // void AddOmegaToAOD(AliKFParticle * kfParticle, Int_t daughter1, Int_t daughter2);
+  void TagDaughter(Int_t gammaIndex);
+
   // end AOD
                
   static Bool_t IsGoodImpPar(const AliESDtrack *const track);
@@ -121,7 +135,8 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   Double_t GetMCOpeningAngle(const TParticle* const daughter0,const TParticle* const daughter1) const;
   void CheckV0Efficiency();
   void SetDeltaAODFileName(TString fn) { fKFDeltaAODFileName = fn; };
-               
+  void SetCreateAOD(Bool_t doAod) { fKFCreateAOD = doAod; };
+  TString GetDeltaAODFileName() const { return fKFDeltaAODFileName; };
   //////////////////Chi_c Analysis////////////////////////////
   void GetPID(const AliESDtrack *track, Stat_t &pid, Stat_t &weight);  
   double GetSigmaToVertex(const AliESDtrack* t);
@@ -159,6 +174,9 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   void SetSelectV0AND(Bool_t selectV0AND) { fSelectV0AND = selectV0AND; }
   void SetUseMultiplicity(Int_t useMultiplicity) {fUseMultiplicity=useMultiplicity;}
   void SetUseMultiplicityBin(Int_t useMultiplicityBin) {fUseMultiplicityBin=useMultiplicityBin;}
+  void SetUseHBTMultiplicity(Int_t useHBTMultiplicity) {fUseHBTMultiplicity=useHBTMultiplicity;}
+  void SetUseHBTMultiplicityBin(Int_t useHBTMultiplicityBin) {fUseHBTMultiplicityBin=useHBTMultiplicityBin;}
+
   Int_t CalculateMultiplicityBin();
   void SetUseCentrality(Int_t useCentrality) {fUseCentrality=useCentrality;}
   void SetUseCentralityBin(Int_t useCentralityBin) {fUseCentralityBin=useCentralityBin;}
@@ -170,9 +188,6 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented
   AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented
   
-  /// Add reconstructed pions to aod
-  void AddPionToAOD(const AliKFParticle * const pionkf, Double_t mass, Int_t daughter1, Int_t daughter2); 
-  void AddOmegaToAOD(const AliKFParticle * const omegakf, Double_t mass, Int_t daughter1, Int_t daughter2); 
                
   // for CF
   enum{
@@ -229,14 +244,6 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   TClonesArray * fPreviousEventTLVPosElectronTClone; //! transient
                
   //  vector<AliKFParticle> fKFReconstructedGammas; // vector containing all reconstructed gammas
-  vector<Int_t> fElectronv1; // vector containing index of electron 1
-  vector<Int_t> fElectronv2; // vector containing index of electron 2
-               
-  vector<Int_t> fGammav1; // vector containing index of gamma 1
-  vector<Int_t> fGammav2; // vector containing index of gamma 2
-
-  vector<Int_t> fElectronRecalculatedv1; // vector containing index of electron 1
-  vector<Int_t> fElectronRecalculatedv2; // vector containing index of electron 2
                
   //  AliESDpid * fESDpid; // esd pid
 
@@ -286,9 +293,11 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   Bool_t fDoCF; //! transient
                
   TClonesArray * fAODGamma; //TClonesArray for gammas to put in AOD
-  TClonesArray * fAODPi0; //TTClonesArray for Pi0s to put in AOD
-  TClonesArray * fAODOmega; //TTClonesArray for omegas to put in AOD
+  //TClonesArray * fAODPi0; //TTClonesArray for Pi0s to put in AOD
+  //TClonesArray * fAODOmega; //TTClonesArray for omegas to put in AOD
   TString fAODBranchName; // New AOD branch name
+  Bool_t fKFCreateAOD; //Create the AOD tclones? (regardless if storing or not)
+  
   Bool_t fKFForceAOD;  //Set the Analysis Manager FillAOD variable to true every event
   TString fKFDeltaAODFileName; //! File name for delta AOD (if any)
   Bool_t fDoNeutralMesonV0MCCheck; //flag
@@ -299,16 +308,19 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   Int_t fNDegreesPMBackground; // number of degree window to rotate particles for rotation method
   Bool_t fDoRotation; //flag
   Bool_t fCheckBGProbability; //flag
-  vector<Int_t>fKFReconstructedGammasV0Index; // index of the reconstructed v0s
+//  vector<Int_t>fKFReconstructedGammasV0Index; // index of the reconstructed v0s
   Bool_t fRemovePileUp;                 // Remove Pile Up
   Bool_t fSelectV0AND;                 // Select V0AND
   AliTriggerAnalysis *fTriggerAnalysis; //! Trigger Analysis for Normalisation
   Int_t fMultiplicity;
   Int_t fUseMultiplicity;
   Int_t fUseMultiplicityBin;
+  Int_t fUseHBTMultiplicity;
+  Int_t fUseHBTMultiplicityBin;
   Int_t fUseCentrality;
   Int_t fUseCentralityBin;
-  ClassDef(AliAnalysisTaskGammaConversion, 16); // Analysis task for gamma conversions
+  TRandom3 fRandom;
+  ClassDef(AliAnalysisTaskGammaConversion, 20); // Analysis task for gamma conversions
 };
 
 #endif //ALIANALYSISTASKGAMMA_H