AliPhysics  9df6235 (9df6235)
AliAnalysisTaskEmcalJetSpectra8TeVTriggerQA.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALJETSPECTRA8TEVTRIGGERQA_H
2 #define ALIANALYSISTASKEMCALJETSPECTRA8TEVTRIGGERQA_H
3 
4 /**********************************************************************************
5  * Copyright (C) 2018, 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 
43 /* Copyright(c) 1998-2018, ALICE Experiment at CERN, All rights reserved. *
44  * See cxx source for full Copyright notice */
45 
46 
47 
49 #include "THistManager.h"
50 #include <string>
51 #include <vector>
54 #include "AliEventCuts.h"
55 #include <TCustomBinning.h>
56 #include <TString.h>
57 
58 class AliOADBContainer;
59 class AliEMCALTriggerPatchInfo;
60 class THistManager;
61 class TObjArray;
62 class TFormula;
63 class TH2F;
64 class TH1F;
65 class TF1;
66 class THnSparse;
67 class TRandom3;
68 class TObjArray;
69 class TClonesArray;
70 class TObject;
71 class TString;
72 class TProfile2D;
73 class AliAODEvent;
74 class AliESDEvent;
75 class AliMCEvent;
76 class AliVEvent;
77 class AliStack;
78 class AliEMCALGeometry;
79 //class AliEMCalJet;
80 class AliEMCALRecoUtils;
81 class AliESDCaloCluster;
82 class AliVTrack;
83 class AliMCEvent;
84 class AliAODEvent;
85 class AliESDEvent;
86 
99 public:
100 
104 
105  void UserCreateOutputObjects() ;
106  void Terminate(Option_t *option) ;
107  void ExtractMainPatch() ;
108 
109  //setters
110  void SetUseSumw2(Bool_t b) { fUseSumw2 = b ; }
111 
112 protected:
113  void ExecOnce() ;
115  Bool_t Run() ;
116 
117  void AllocateJetHistograms() ;
118  void AllocateTrackHistograms() ;
120  void AllocateCellHistograms() ;
122  //void AllocateMCJetHistograms() ;///< MC truth Jet Histograms
123 
124 
125 
126  void DoJetLoop() ;
127  void DoTrackLoop() ;
128  void DoClusterLoop() ;
129  void DoCellLoop() ;
130  void DoParticleLoop() ;
131  //void DoMCJetLoop() ;
132  Bool_t IsLEDEvent() const ;
134  Bool_t SelectSingleShowerPatch(const AliEMCALTriggerPatchInfo *patch) const;
135  Bool_t SelectJetPatch(const AliEMCALTriggerPatchInfo *patch) const;
137 
138  // Sparse Definition
139  virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries);
140  virtual void GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
141  // Binning helper functions
142 
143  // Utilities
144  Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const;
145  Double_t GetSmearedTrackPt(AliVTrack *track) ;
146  Double_t GetFcross(const AliVCluster *cluster, AliVCaloCells *cells);
147 
148  AliVEvent *fRecevent ;
149  AliMCEvent *fMCevent ;
152 
153 private:
154 
155  //AliEMCALGeometry *fGeom ;//!<! EMCal goemetry utility
160 
162  TH1F *fHistJetPt ;
168 
169  THnSparse *fhnMBJetSpectra ;
170  THnSparse *fhnTrkQA ;
171  THnSparse *fhnClusQA ;
172 
173 
175 
178 
182 };
183 #endif
virtual THnSparse * NewTHnSparseF(const char *name, UInt_t entries)
Double_t GetSmearedTrackPt(AliVTrack *track)
! smeared Pt resolution with gaussian
double Double_t
Definition: External.C:58
Definition: External.C:236
TF1 * fClusterEResolution
! Parameterization of cluster energy resolution from 2010 test beam results a = 4.35 b = 9.07 c = 1.63
Double_t GetFcross(const AliVCluster *cluster, AliVCaloCells *cells)
AliAnalysisTaskEmcalJetSpectra8TeVTriggerQA & operator=(const AliAnalysisTaskEmcalJetSpectra8TeVTriggerQA &)
Some utilities for cluster and cell treatment.
AliMCParticleContainer * fGeneratorLevel
! generator level container
int Int_t
Definition: External.C:63
Bool_t fUseRecalcPatches
Switch between offline (FEE) and recalc (L1) patches.
unsigned int UInt_t
Definition: External.C:33
Bool_t SelectSingleShowerPatch(const AliEMCALTriggerPatchInfo *patch) const
Double_t fVaryTrkPtRes
! Variation of tracking momentum resolution
Implementation of a EMCal spectra task and QA for EMCal triggers.
Bool_t SelectJetPatch(const AliEMCALTriggerPatchInfo *patch) const
AliJetContainer * fMCJetContainer
! truth-level jet container
Base task in the EMCAL jet framework.
Container class for histograms.
Definition: THistManager.h:99
const char Option_t
Definition: External.C:48
Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const
const Int_t nbins
bool Bool_t
Definition: External.C:53
Container for MC-true particles within the EMCAL framework.
Container for jet within the EMCAL jet framework.
virtual void GetDimParams(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)