class TNtuple;
class AliGammaConversionHistograms;
class AliESDv0;
+class AliV0;
class AliKFParticle;
+class AliKFVertex;
class AliESDInputHandler;
class AliESDEvent;
class AliAODEvent;
class AliCFManager; // for CF
class AliCFContainer; // for CF
+
class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
{
virtual void UserCreateOutputObjects();
virtual void Init();
virtual void LocalInit() {Init();}
- virtual void Exec(Option_t *option);
+ virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *option);
- virtual void ConnectInputData(Option_t *);
+ //virtual void ConnectInputData(Option_t * option);
void ProcessMCData();
void ProcessV0sNoCut();
void ProcessV0s();
void ProcessGammasForNeutralMesonAnalysis();
-
+ void ProcessGammasForOmegaMesonAnalysis();
+ void ProcessConvPHOSGammasForNeutralMesonAnalysis();
+ void RecalculateV0ForGamma();
// for CF
void SetCFManager(AliCFManager * const io) {fCFManager = io;};
AliCFManager *GetCFManager() const {return fCFManager;}
// AOD
TString GetAODBranchName() const {return fAODBranchName;}
void SetAODBranchName(TString name) {fAODBranchName = name ;}
+ void SetForceAOD(Bool_t forceAOD ) { fKFForceAOD = forceAOD; }
void FillAODWithConversionGammas();
// end AOD
-
+ static Bool_t IsGoodImpPar(AliESDtrack *const track);
+
// for GammaJetAnalysis
void ProcessGammasForGammaJetAnalysis();
void CreateListOfChargedParticles();
void SetTriggerCINT1B(Bool_t flag){fTriggerCINT1B=flag;}
void SetDoMCTruth(Bool_t flag){fDoMCTruth=flag;}
void SetDoNeutralMeson(Bool_t flag){fDoNeutralMeson=flag;}
+ void SetDoOmegaMeson(Bool_t flag){fDoOmegaMeson=flag;}
+ void SetDoNeutralMesonV0MCCheck(Bool_t flag){fDoNeutralMesonV0MCCheck=flag;}
void SetDoJet(Bool_t flag){fDoJet=flag;}
void SetDoChic(Bool_t flag){fDoChic=flag;}
-
+ void SetRecalculateV0ForGamma(Bool_t flag){fRecalculateV0ForGamma=flag;}
+
void SetElectronMass(Double_t electronMass){fElectronMass = electronMass;}
void SetGammaMass(Double_t gammaMass){fGammaMass = gammaMass;}
void SetGammaWidth(Double_t gammaWidth){fGammaWidth = gammaWidth;}
void SetEtaMass(Double_t etaMass){fEtaMass = etaMass;}
void SetEtaWidth(Double_t etaWidth){fEtaWidth = etaWidth;}
void SetMinOpeningAngleGhostCut(Double_t ghostCut){fMinOpeningAngleGhostCut = ghostCut;}
- void SetV0Reader(AliV0Reader* const reader){fV0Reader=reader;}
+ void SetV0Reader(AliV0Reader* const reader){fV0Reader=reader; fV0Reader->SetESDtrackCuts(fEsdTrackCuts);}
void SetCalculateBackground(Bool_t bg){fCalculateBackground=bg;}
void CalculateBackground();
void SetWriteNtuple(Bool_t writeNtuple){fWriteNtuple = writeNtuple;}
void FillNtuple();
Double_t GetMCOpeningAngle(TParticle* const daughter0, TParticle* const daughter1) const;
void CheckV0Efficiency();
-
+ void SetDeltaAODFileName(TString fn) { fKFDeltaAODFileName = fn; };
//////////////////Chi_c Analysis////////////////////////////
void GetPID(AliESDtrack *track, Stat_t &pid, Stat_t &weight);
private:
AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented
AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented
+
+ /// Add reconstructed pions to aod
+ void AddPionToAOD(AliKFParticle * pionkf, Double_t mass, Int_t daughter1, Int_t daughter2);
+ void AddOmegaToAOD(AliKFParticle * pionkf, Double_t mass, Int_t daughter1, Int_t daughter2);
// for CF
enum{
kStepGenerated = 0,
kStepReconstructable = 1,
- kStepLikeSign = 2,
- kStepTPCRefit = 3,
- kStepKinks = 4,
- kStepGetOnFly = 5,
- kStepNContributors = 6,
- kStepTPCPID = 7,
- kStepR = 8,
- kStepLine = 9,
- kStepZ = 10,
- kStepNDF = 11,
- kStepChi2 = 12,
- kStepEta = 13,
- kStepPt = 14
+ kStepGetOnFly = 2,
+ kStepLikeSign = 3,
+ kStepTPCRefit = 4,
+ kStepKinks = 5,
+ kStepdEdx_electronselection = 6,
+ kStepdEdx_pionrejection = 7,
+ kStepNContributors = 8,
+ kStepTPCPID = 9,
+ kStepR = 10,
+ kStepLine = 11,
+ kStepZ = 12,
+ kStepMinClsTPC = 13,
+ kStepSinglePt = 14,
+ kStepNDF = 15,
+ kStepChi2 = 16,
+ kStepEta = 17,
+ kStepPt = 18,
+ kStepTrueGamma = 19
};
-
+
AliV0Reader* fV0Reader; // The V0 reader object
AliStack * fStack; // pointer to the MC particle stack
Bool_t fTriggerCINT1B; //Flag to select trigger CINT1B
Bool_t fDoMCTruth; // Flag to switch on/off MC truth
Bool_t fDoNeutralMeson; // flag
+ Bool_t fDoOmegaMeson; // flag
Bool_t fDoJet; // flag
Bool_t fDoChic; // flag
+ Bool_t fRecalculateV0ForGamma;//flag
TClonesArray * fKFReconstructedGammasTClone; //! transient
+ TClonesArray * fKFReconstructedPi0sTClone; //! transient
+ TClonesArray * fKFRecalculatedGammasTClone; //! transient
TClonesArray * fCurrentEventPosElectronTClone; //! transient
TClonesArray * fCurrentEventNegElectronTClone; //! transient
TClonesArray * fKFReconstructedGammasCutTClone; //! transient
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
+
+
///////Chi_c Analysis///////////////////////////
// vector<AliESDtrack*> fCurrentEventPosElectron; // comment here
// vector<AliESDtrack*> fCurrentEventNegElectron; // comment here
Double_t fHighPtMapping; //! transient
Bool_t fDoCF; //! transient
- TClonesArray* fAODBranch ; //! selected particles branch
+ 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
TString fAODBranchName; // New AOD branch name
-
- // TClonesArray *fAODObjects;
-
- ClassDef(AliAnalysisTaskGammaConversion, 5); // Analysis task for gamma conversions
+ 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
+
+ vector<Int_t>fKFReconstructedGammasV0Index; // index of the reconstructed v0s
+
+ ClassDef(AliAnalysisTaskGammaConversion, 9); // Analysis task for gamma conversions
};
#endif //ALIANALYSISTASKGAMMA_H