AliPhysics  80ccde44 (80ccde44)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalVsPhos.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskEmcalVsPhos_H
2 #define AliAnalysisTaskEmcalVsPhos_H
3 
4 /**********************************************************************************
5  * Copyright (C) 2016, Copyright Holders of the ALICE Collaboration *
6  * All rights reserved. *
7  * *
8  * Redistribution and use in source and binary forms, with or without *
9  * modification, are permitted provided that the following conditions are met: *
10  * * Redistributions of source code must retain the above copyright *
11  * notice, this list of conditions and the following disclaimer. *
12  * * Redistributions in binary form must reproduce the above copyright *
13  * notice, this list of conditions and the following disclaimer in the *
14  * documentation and/or other materials provided with the distribution. *
15  * * Neither the name of the <organization> nor the *
16  * names of its contributors may be used to endorse or promote products *
17  * derived from this software without specific prior written permission. *
18  * *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND *
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
21  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
22  * DISCLAIMED. IN NO EVENT SHALL ALICE COLLABORATION BE LIABLE FOR ANY *
23  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
24  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; *
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
29  * *********************************************************************************/
30 
41 class AliPHOSGeometry;
42 
43 #include "THistManager.h"
44 
45 #include "AliEventCuts.h"
47 
49  public:
50 
51  enum ClusterType {
52  kNA = -1,
53  kEMCal = 0,
54  kDCal = 1,
55  kPHOS = 2
56  };
57 
59  AliAnalysisTaskEmcalVsPhos(const char *name) ;
60  virtual ~AliAnalysisTaskEmcalVsPhos() ;
61 
63 
64  // Setters
65  void SetMaxPt(Double_t d) { fMaxPt = d; }
68  void SetNEtaBins(Int_t n) { fNEtaBins = n; }
69  void SetNPhiBins(Int_t n) { fNPhiBins = n; }
76 
77  protected:
78  void ExecOnce() ;
80  Bool_t Run() ;
82 
83  // Analysis and plotting functions
84  void GenerateHistoBins() ;
85  void AllocateCaloHistograms() ;
87  void AllocateCellHistograms() ;
90  void FillCaloHistograms() ;
91  void FillClusterHistograms() ;
92  void FillCellHistograms() ;
95 
96  // Utility functions
98  Double_t GetDeltaR(AliTLorentzVector* part, Double_t etaRef, Double_t phiRef);
100  Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells);
101 
102  // Analysis parameters
105 
106  // Analysis configuration and plotting options
113 
114  // Plotting parameters
120 
121  // Event selection
123  AliEventCuts fEventCuts;
126 
127  // Phos geometry (only needed for cluster studies)
128  AliPHOSGeometry* fPHOSGeo;
129 
130  // Hist manager
132 
133  private:
134  AliAnalysisTaskEmcalVsPhos(const AliAnalysisTaskEmcalVsPhos&) ; // not implemented
136 
138  ClassDef(AliAnalysisTaskEmcalVsPhos, 2);
140 };
141 #endif
double Double_t
Definition: External.C:58
Double_t GetJetPt(AliJetContainer *jetCont, AliEmcalJet *jet)
Bool_t fPlotClustersInJets
Set whether to plot histogram of clusters within jets.
Int_t fNPhiBins
Number of phi bins in DCal region (for background/correction)
Int_t fNCentHistBins
! number of cent bins
Double_t * fPtHistBins
! variable pt bins
Bool_t fPlotCellHistograms
Set whether to plot cell histograms.
Bool_t fUseAliEventCuts
Flag to use AliEventCuts (otherwise AliAnalysisTaskEmcal will be used)
AliAnalysisTaskEmcalVsPhos & operator=(const AliAnalysisTaskEmcalVsPhos &)
THistManager fHistManager
Histogram manager.
AliPHOSGeometry * fPHOSGeo
! phos geometry
int Int_t
Definition: External.C:63
Int_t fNPtHistBins
! number of variable pt bins
float Float_t
Definition: External.C:68
Bool_t fPlotNeutralJets
Set whether to plot neutral jet histo.
Double_t GetJetType(AliEmcalJet *jet)
Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells)
Bool_t fPlotClusterHistograms
Set whether to plot cluster histograms.
Bool_t fUseManualEventCuts
Flag to use manual event cuts.
TList * fEventCutList
! Output list for event cut histograms
Double_t GetDeltaR(AliTLorentzVector *part, Double_t etaRef, Double_t phiRef)
Int_t fNEtaBins
Number of eta bins in DCal region (for background/correction)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
Container class for histograms.
Definition: THistManager.h:99
bool Bool_t
Definition: External.C:53
Bool_t fPlotClusWithoutNonLinCorr
If true, use pre-nonlincorr energy in cluster thnsparse.
Bool_t fPlotExotics
Set whether to plot exotic cluster study.
Container for jet within the EMCAL jet framework.
Float_t fMaxPt
Histogram pt limit.
AliEventCuts fEventCuts
event selection utility