AliPhysics  e6c8d43 (e6c8d43)
AliAnalysisTaskEmcalTriggerPatchJetMatch.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskEmcalTriggerPatchJetMatch_h
2 #define AliAnalysisTaskEmcalTriggerPatchJetMatch_h
3 //#ifndef ALIANALYSISTASKEMCALTRIGGERPATCHJETMATCH_H
4 //#define ALIANALYSISTASKEMCALTRIGGERPATCHJETMATCH_H
5 
6 //-------------------------------------------------------------------------
7 // 1) Analysis task to identify the jet whose cluster fired the trigger patch
8 // 2) perform some QA on the patch / cluster / jet
9 // 3) and pass the saved out collection of jet(s) to other tasks
10 //
11 // currently set up for GA trigger
12 //
13 // Author: Joel Mazer (joel.mazer@cern.ch)
14 //-------------------------------------------------------------------------
15 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
16  * See cxx source for full Copyright notice */
17 
18 class TH1;
19 class TH2;
20 class TH3;
21 class TH3F;
22 class TProfile;
23 class TClonesArray;
24 class TArrayI;
25 class AliEMCALTriggerPatchInfo;
26 
27 #include <TRef.h>
28 #include <TBits.h>
29 #include <TMath.h>
30 #include <AliVEvent.h>
31 #include "AliEMCALTriggerPatchInfo.h"
34 
36  public:
40 
42  kManual = 0, //just select highest energy patch in array
43  kEmcalJet = 1 //use functionality of AliAnalysisTaskEmcal
44  };
45 
46 // void ExecOnce();
48  void Terminate(Option_t *option);
49  Bool_t SelectEvent(); //decides if event is used for analysis
52 
53  //Setters
54  void SetDebug(Int_t d) { fDebug = d;}
55  void SetTriggerClass(const char *n) { fTriggerClass = n; }
56  void SetNFastorPatch(Int_t i) { fNFastOR = i;}
57 
58  // containers
60 
63 
64  // cuts and biases
65  virtual void SetJetPtcut(Double_t jpt) { fJetPtCut = jpt; } // jet pt cut
66  virtual void SetPatchEcut(Double_t pE) { fPatchECut = pE; } // jet pt cut
67  virtual void SetTrkBias(Double_t b) { fTrkBias = b; } //require a track with pt > b in jet
68  virtual void SetClusBias(Double_t b) { fClusBias = b; } //require a cluster with pt > b in jet
69 
70  // give comments setter and various switches
71  void SetdoComments(Bool_t comm) { doComments = comm; } // give comment switch
72  void SetUseALLrecalcPatches(Bool_t useall) { fUseALLrecalcPatches = useall; } // use all firing (offline) patches
73 
74  virtual void SetJetTriggeredEventname(const char *jcol) { fJetTriggeredEventname = jcol; }
76  virtual void SetCaloClustersName(const char *cn) { fCaloClustersName=cn; }
77 
78  Int_t GetLeadingCellId(const AliVCluster *clus) const;
79  Double_t GetEnergyLeadingCell(const AliVCluster *clus) const;
80  Double_t GetECross(Int_t absID) const;
81 
82  Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const;
83  Double_t GetZ(Double_t trkPx, Double_t trkPy, Double_t trkPz, Double_t jetPx, Double_t jetPy, Double_t jetPz) const;
84 
85  protected:
86  void ExecOnce();
88  Bool_t Run() ;
89  Float_t RelativeEP(Double_t objAng, Double_t EPAng) const;
90  Bool_t TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);}
91 
92  // Trigger bit - do i need?????
93  void ExtractMainPatch();
94  TH1* FillTriggerPatchQA(TH1* h, UInt_t t, AliEMCALTriggerPatchInfo* fPatch); // filled trigger patch QA
95  TH1* FillEventTriggerQA(TH1* h, UInt_t t); // fill event trigger QA
96  Bool_t CorrelateToTrigger(Double_t etaclust, Double_t phiclust, TList *triggerpatches) const;
97 
98  private:
99  Bool_t fDebug; // debug level
100  Bool_t fAttachToEvent; // attach local rho to the event
101  TString fTriggerClass; // trigger class to analyze EJ or GA patches
102  Int_t fJetContainer; // number of container of jets
103  Double_t fMaxPatchEnergy; // energy of patch with largest energy (offline)
104  Double_t fMaxPatchADCEnergy; // energy of patch with largest energy from online ADC
105  Int_t fTriggerType; // trigger type
106  Int_t fNFastOR; // size of trigger patch fNFastORxfNFastOR
107  TriggerCategory fMainTrigCat; // trigger category for main trigger
108  TriggerCategory fTriggerCategory; // trigger category
109  Bool_t fMainTrigSimple; // use offline trigger instead of online from AliAnalysisTaskEmcal::GetMainTriggerPatch
110  Double_t fJetPtCut; // jet pt to cut on for correlations
111  Double_t fPatchECut; // patch energy cut
112  Double_t fTrkBias; // track bias
113  Double_t fClusBias; // cluster bias
114  Bool_t doComments; // summary (debugging comments)
115  Bool_t fUseALLrecalcPatches; // use all/ just max recalulated (offline) patches
116  TString fJetTriggeredEventname; // name of jet that triggered event collection
117  TString fCaloClustersName; // name of Calo Cluster collection
118 
119  AliEMCALTriggerPatchInfo *fMaxPatch;
121 
122  TH1F *fhNEvents;
123  TProfile *fhTriggerbit;
167 
181 
183 
184  TClonesArray *fJetTriggeredEvent;
185  TClonesArray *fRecalcTriggerPatches;
186 
187  THnSparse *fhnPatchMaxClus;
188  THnSparse *fhnPatchMatch;
189  THnSparse *fhnPatchMatch2;
191 
194 
196 };
197 #endif
198 
TH1F * fhGammaLowSimplePatchEnergy
Gamma Low Patch Energy distribution.
TH3F * fh3JetReacCent
cluster energy vs energy of leading cell in cluster vs time of the leading cell
double Double_t
Definition: External.C:58
TH1F * fhMainTriggerPatchEnergy
Jet Low Simple patch energy distribution.
Definition: External.C:260
Bool_t CorrelateToTrigger(Double_t etaclust, Double_t phiclust, TList *triggerpatches) const
Definition: External.C:236
Definition: External.C:244
TH3F * fh3PatchEnergyEtaPhiCenterJ2
patch energy vs eta, phi at center of patch, high threshold
TH1F * fhJetLowSimplePatchEnergy
Jet Low patch energy distribution.
TH3F * fh3PatchADCEnergyEtaPhiCenterG1G2
patch ADC energy vs eta, phi at center of patch, low threshold
void ExecOnce()
Perform steps needed to initialize the analysis.
THnSparse * fhnPatchMatch2
// QA before matching patch sparse matrix
TCanvas * c
Definition: TestFitELoss.C:172
TH3F * fh3PtLeadJet2VsPatchEnergy
leading jet energy vs leading patch energy vs jet trigger (J1/J2)
TH1F * fhRecalcJetPatchEnergy
Gamma Low Simple Patch Energy distribution.
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
TH3F * fh3PtLeadJet1RawPatchEnergyVZEROAmp
leading jet energy vs leading patch energy vs VZERO amplitude
TH1F * fhJetLowPatchEnergy
Recalculated Jet Patch Energy distribution.
TH3F * fh3EEtaPhiCluster
correlation between leading jet of the two branches
TH2F * fh2PtMeanPtConstituentsNeutral
pt, <pt> charged constituents
TH3F * fh3PatchEnergyEtaPhiCenterG2
patch energy vs eta, phi at center of patch, high threshold
int Int_t
Definition: External.C:63
TH3F * fh3PatchEnergyEtaPhiCenterG1
patch ADC energy vs eta, phi at center of patch, low + high threshold
TH3F * fh3PatchEnergyEtaPhiCenterJ1J2
patch energy vs eta, phi at center of patch, low threshold
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
THnSparse * fhnPatchMatchJetLeadClus
// QA after matching patch sparse matrix
TH3F * fh3EEtaPhiCell
patch ADC energy vs eta, phi at center of patch, all trigger patches
TH3F * fh3PatchADCEnergyEtaPhiCenterAll
patch ADC energy vs eta, phi at center of patch, low + high threshold
TH1F * fHistClusEnergy
jet energy vs cent vs dphi(jet,event plane)
TH2F * fh2NEFNConstituentsNeutral
NEF, # charged jet constituents.
TH3F * fh3PatchADCEnergyEtaPhiCenterG2
patch ADC energy vs eta, phi at center of patch, high threshold
TH3F * fh3PatchADCEnergyEtaPhiCenterG1
patch energy vs eta, phi at center of patch, low + high threshold
TH2F * fHistRhovsCent
histogram containing the triggerbit (fOfflineTriggerMask)
Float_t RelativeEP(Double_t objAng, Double_t EPAng) const
TH3F * fh3PatchEnergyEtaPhiCenterG1G2
patch energy vs eta, phi at center of patch, low threshold
TH3F * fh3PatchADCEnergyEtaPhiCenterJ1
patch energy vs eta, phi at center of patch, low + high threshold
TH3F * fh3PtLeadJet1PatchEnergyVZEROAmp
leading jet energy vs leading patch energy vs jet trigger (J1/J2)
Manager for constants used in the trigger maker.
TH3F * fh3PatchADCEnergyEtaPhiCenterJ1J2
patch ADC energy vs eta, phi at center of patch, low threshold
TH1 * FillTriggerPatchQA(TH1 *h, UInt_t t, AliEMCALTriggerPatchInfo *fPatch)
Definition: External.C:220
THnSparse * fhnPatchMatch
// patch-maxclus distributions sparse matrix
TH3F * fh3PtEtaPhiTracksToProp
pt,eta,phi of tracks at Emcal surface
TH3F * fh3PatchADCEnergyEtaPhiCenterJ2
patch ADC energy vs eta, phi at center of patch, high threshold
TH3F * fh3PatchEnergyEtaPhiCenterJ1
leading jet energy vs online leading patch energy vs VZERO amplitude
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
TH2F * fHistdPhidEtaPatchJetCluster[16]
Main Trigger patch energy distribution.
const char Option_t
Definition: External.C:48
Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const
bool Bool_t
Definition: External.C:53
TriggerCategory
Online trigger categories.
Bool_t TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const
Definition: External.C:196
TH1F * fhGammaLowPatchEnergy
Recalculated Gamma Patch Energy distribution.
AliAnalysisTaskEmcalTriggerPatchJetMatch & operator=(const AliAnalysisTaskEmcalTriggerPatchJetMatch &)