AliPhysics  d009c82 (d009c82)
AliAnalysisTaskK0toPi0Pi0.h
Go to the documentation of this file.
1 /**************************************************************************************
2  * Copyright (C) 2017, Copyright Holders of the ALICE Collaboration *
3  * All rights reserved. *
4  * *
5  * Redistribution and use in source and binary forms, with or without *
6  * modification, are permitted provided that the following conditions are met: *
7  * * Redistributions of source code must retain the above copyright *
8  * notice, this list of conditions and the following disclaimer. *
9  * * Redistributions in binary form must reproduce the above copyright *
10  * notice, this list of conditions and the following disclaimer in the *
11  * documentation and/or other materials provided with the distribution. *
12  * * Neither the name of the <organization> nor the *
13  * names of its contributors may be used to endorse or promote products *
14  * derived from this software without specific prior written permission. *
15  * *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND *
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
19  * DISCLAIMED. IN NO EVENT SHALL ALICE COLLABORATION BE LIABLE FOR ANY *
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; *
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
26  **************************************************************************************/
27 #ifndef ALIANALYSISTASKK0TOPI0PI0_H
28 #define ALIANALYSISTASKK0TOPI0PI0_H
29 
30 #include <vector>
31 #include <TString.h>
32 
33 #include "AliAODConversionPhoton.h"
34 #include "AliAnalysisTaskSE.h"
35 
36 class THistManager;
37 class TList;
40 class AliCaloPhotonCuts;
41 class AliConvEventCuts;
45 class AliV0ReaderV1;
47 
60 public:
61  enum PhotonType_t {
65  };
66 
67  enum MesonType_t {
70  };
71 
73  AliAnalysisTaskK0toPi0Pi0(const char *name);
75 
76  AliClusterContainer *AddClusterContainer(const char *name);
77  void SetNameV0Reader(const char *name) { fV0ReaderName = name; }
78  void SetEventCuts(AliConvEventCuts *cuts) { fEventCuts = cuts; }
85 
86 protected:
87  virtual void UserCreateOutputObjects();
88  virtual void UserExec(Option_t *);
89  virtual bool UserNotify() { fNewFile = kTRUE; return kTRUE; } // File changed logics in FileChanged function, called when the first event from the file is fully constructed
90  virtual void ExecOnce();
91  virtual void RunChanged() {}
92  virtual void FileChanged() {}
93 
94  // Selectors
95  std::vector<AliAODConversionPhoton> MakeCaloPhotonCandidates(const AliClusterContainer &inputcont, AliCaloPhotonCuts &cuts);
96  std::vector<AliAODConversionPhoton> MakeConversionPhotonCandidates(const AliV0ReaderV1 &reader, AliConversionPhotonCuts &cuts);
97  std::vector<AliAODConversionMother> SelectMeson(std::vector<AliAODConversionMother> &candidates, AliConversionMesonCuts &cuts, MesonType_t meson, const char *reccase);
98  std::vector<AliAODConversionMother> MakePi0Candidates(const std::vector<AliAODConversionPhoton> *primaryLeg, const std::vector<AliAODConversionPhoton> *secondaryLeg, AliConversionMesonCuts &cuts);
99  std::vector<AliAODConversionMother> MakeK0ShortCandidates(const std::vector<AliAODConversionMother> *primaryLeg, const std::vector<AliAODConversionMother> *secondaryLeg, AliConversionMesonCuts &cuts);
100  std::vector<AliAODConversionMother> MakeK0ShortCandidatesMixed(const std::vector<AliAODConversionMother> *sameEvent, const std::vector<AliAODConversionMother *> *mixedEvent, AliConversionMesonCuts &cuts);
101 
102  void MakePhotonQACalo(const std::vector<AliAODConversionPhoton> &photons, AliConvEventCuts &cuts);
103  void MakePhotonQAConv(const std::vector<AliAODConversionPhoton> &photons, AliConvEventCuts &cuts);
104  void MakePi0QA(const std::vector<AliAODConversionMother> &pi0s, const char *reccase,TString selectionStatus);
105  void MakeK0ShortQA(const std::vector<AliAODConversionMother> &k0s, const char *reccase,TString selectionStatus);
106 
107 private:
117 
125 
131 
132 
135 
137  ClassDef(AliAnalysisTaskK0toPi0Pi0, 1);
139 };
140 
141 #endif /* ALIANALYSISTASKK0TOPI0PI0_H */
Bool_t fIsMC
Switch whether we run over data or MC.
AliClusterContainer * AddClusterContainer(const char *name)
void MakePi0QA(const std::vector< AliAODConversionMother > &pi0s, const char *reccase, TString selectionStatus)
double Double_t
Definition: External.C:58
AliGammaConversionAODBGHandler * fSameEMCALHandler
! Background Handler for same EMC
AliCaloPhotonCuts * fCaloPhotonCuts
Calo photon cuts.
Bool_t fNewFile
New file loaded (triggers fileChanged)
void SetConversionPhotonCuts(AliConversionPhotonCuts *cuts)
AliGammaConversionAODBGHandler * fMixedHandler
! Background Handler for mixed case
AliClusterContainer * fClusterContainer
Cluster container.
Double_t fEventPlaneAngle
Event Plane Angle.
std::vector< AliAODConversionPhoton > MakeConversionPhotonCandidates(const AliV0ReaderV1 &reader, AliConversionPhotonCuts &cuts)
TList * fOutput
Global output container.
AliConversionMesonCuts * fPi0CutsCaloCalo
Cuts on the pi0 for the calo calo case.
AliConversionMesonCuts * fPi0CutsConvConv
Cuts on the pi0 for the conv conv case.
void SetPi0CutsCaloCalo(AliConversionMesonCuts *cuts)
void SetPi0CutsConvConv(AliConversionMesonCuts *cuts)
void MakePhotonQACalo(const std::vector< AliAODConversionPhoton > &photons, AliConvEventCuts &cuts)
int Int_t
Definition: External.C:63
Bool_t fLocalInitialized
Check whether the task was initialized (triggers ExecOnce)
Class handling all kinds of selection cuts for Gamma Calo analysis.
void SetPi0CutsConvCalo(AliConversionMesonCuts *cuts)
THistManager * fHistos
Container for Histograms.
AliConversionMesonCuts * fPi0CutsConvCalo
Cuts on the pi0 for the conv calo case.
AliConversionPhotonCuts * fConvPhotonCuts
Cuts on conversion photons.
void SetNameV0Reader(const char *name)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
void SetK0Cuts(AliConversionMesonCuts *cuts)
void SetCaloPhotonCuts(AliCaloPhotonCuts *cuts)
void MakeK0ShortQA(const std::vector< AliAODConversionMother > &k0s, const char *reccase, TString selectionStatus)
std::vector< AliAODConversionMother > MakeK0ShortCandidates(const std::vector< AliAODConversionMother > *primaryLeg, const std::vector< AliAODConversionMother > *secondaryLeg, AliConversionMesonCuts &cuts)
void SetEventCuts(AliConvEventCuts *cuts)
Class handling analysis of K0s decay into two pi0s.
AliV0ReaderV1 * fV0Reader
! V0 reader
void MakePhotonQAConv(const std::vector< AliAODConversionPhoton > &photons, AliConvEventCuts &cuts)
TString fV0ReaderName
Name of the V0 reader.
AliAnalysisTaskK0toPi0Pi0 & operator=(const AliAnalysisTaskK0toPi0Pi0 &)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
std::vector< AliAODConversionMother > MakePi0Candidates(const std::vector< AliAODConversionPhoton > *primaryLeg, const std::vector< AliAODConversionPhoton > *secondaryLeg, AliConversionMesonCuts &cuts)
std::vector< AliAODConversionPhoton > MakeCaloPhotonCandidates(const AliClusterContainer &inputcont, AliCaloPhotonCuts &cuts)
std::vector< AliAODConversionMother > MakeK0ShortCandidatesMixed(const std::vector< AliAODConversionMother > *sameEvent, const std::vector< AliAODConversionMother * > *mixedEvent, AliConversionMesonCuts &cuts)
Container class for histograms.
Definition: THistManager.h:99
Class handling all kinds of selection cuts for Gamma Conversion analysis.
std::vector< AliAODConversionMother > SelectMeson(std::vector< AliAODConversionMother > &candidates, AliConversionMesonCuts &cuts, MesonType_t meson, const char *reccase)
Double_t fWeightJetJetMC
Weight of the jet-jet event.
const char Option_t
Definition: External.C:48
Int_t fCurrentRun
Current run number (triggers RunChanged)
bool Bool_t
Definition: External.C:53
AliGammaConversionAODBGHandler * fSamePCMHandler
! Background Handler for same PCM
Container structure for EMCAL clusters.
TString meson
AliConversionMesonCuts * fK0Cuts
Cuts on the K0.
AliConvEventCuts * fEventCuts
Event cuts.