AliPhysics  master (68a99cd)
AliAnalysisTaskEmcalJetTagger.h
Go to the documentation of this file.
1 /************************************************************************************
2  * Copyright (C) 2013, 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 ALIANALYSISTASKEMCALJETTAGGER_H
28 #define ALIANALYSISTASKEMCALJETTAGGER_H
29 
30 class TH1;
31 class TH2;
32 class TH3;
33 class AliJetContainer;
34 
36 
61  public:
67  kGeo = 0,
68  kFraction = 1
69  };
70 
76  kTag = 0,
77  kClosest = 1
78  };
79 
84 
88  AliAnalysisTaskEmcalJetTagger(const char *name);
89 
94 
99 
103  void Terminate(Option_t *option);
104 
105  //Setters
106 
114 
122 
131 
140 
150 
154  void SetUseSumw2(Bool_t b) { fUseSumw2 = b;}
155 
169  void SetTypeAcceptance(Int_t type) { fTypeAcc = type; /*see Init()*/}
170 
178  void SetMaxDistance(Double_t dist) { fMaxDist = dist; }
179 
185  void SetExtraMargins(Double_t marginbase, Double_t margintag) { fExtraMarginAccBase = marginbase; fExtraMarginAccTag = margintag; }
186 
191  void SetExtraMarginTag(Double_t extramargin) { fExtraMarginAccTag = extramargin; }
192 
197  void SetExtraMarginBase(Double_t extramargin) { fExtraMarginAccBase = extramargin; }
198 
199  void SetSpecialParticleContainer(Int_t contnumb) { fSpecPartContTag = contnumb; }
200  protected:
201 
206 
214  Bool_t Run();
215 
220 
227  void Init();
228 
234  Double_t GetDeltaPhi(const AliEmcalJet* jet1, const AliEmcalJet* jet2);
235 
242 
243 
263  void MatchJetsGeo(Int_t c1 = -1, Int_t c2 = -1, Int_t iDebug = 0, Float_t maxDist = 0.3, Int_t type = 2, Bool_t bReset = kTRUE);
264 
269  void ResetTagging(const Int_t c);
270 
271  private:
288 
293 
299 
300  ClassDef(AliAnalysisTaskEmcalJetTagger, 9)
301 };
302 #endif
303 
void SetJetContainerTag(Int_t c)
Setting index of the tag jet container.
double Double_t
Definition: External.C:58
Definition: External.C:260
JetTaggingMethod
Method used to tag jets from different sources.
Definition: External.C:236
Definition: External.C:244
Double_t fMaxDist
distance allowed for two jets to match
TH1 * fNAccJets
pt jet vs Area vs delta R of constituents
void MatchJetsGeo(Int_t c1=-1, Int_t c2=-1, Int_t iDebug=0, Float_t maxDist=0.3, Int_t type=2, Bool_t bReset=kTRUE)
Match the full jets to the corresponding charged jets.
TH3F ** fh3PtJet1VsDeltaEtaDeltaPhi
! pt jet 1 vs deta vs dphi
Bool_t fInit
true when the containers are initialized
void SetUseSumw2(Bool_t b)
Setting sumw2 option for all QA histograms.
Pure geometric tagging (max. distance + acceptance cut)
TCanvas * c
Definition: TestFitELoss.C:172
void SetJetTaggingType(JetTaggingType t)
Set the tagging type.
TH2F ** fh2PtJet2VsRelPt
! pT of tagged jet vs pt base jet / pt tagged jet
TH2F ** fh2PtJet2VsFraction
! pt jet 1 vs shared fraction
void SetExtraMargins(Double_t marginbase, Double_t margintag)
Set extra margin for jet acceptance in eta and phi for both the base and the tag jet container...
Double_t fExtraMarginAccTag
Extra margin to be added to the acceptance for the different acceptance types (tag jet container) ...
Geometric tagging + fractional of overlap in particles.
Double_t fMinFractionShared
only fill histos for jets if shared fraction larger than X
void SetJetContainerBase(Int_t c)
Setting index of the base jet container.
Int_t fTypeAcc
acceptance cut for the jet containers, see method MatchJetsGeo in .cxx for possibilities ...
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
JetTaggingType fJetTaggingType
jet matching type
void SetExtraMarginBase(Double_t extramargin)
Set extra margin for jet acceptance in eta and phi for both the base and the tag jet container...
void SetJetTaggingMethod(JetTaggingMethod m)
Set the tagging method.
void Terminate(Option_t *option)
Terminate method - not implemented for the jet tagger task.
JetTaggingMethod fJetTaggingMethod
jet matching method
Bool_t fMatchingDone
flag to indicate if matching is done or not
TH2F ** fh2PtJet1VsPtJet2
! pT of base jet vs tagged jet
Tagging jets with jet from another source.
AliAnalysisTaskEmcalJetTagger & operator=(const AliAnalysisTaskEmcalJetTagger &)
Double_t fExtraMarginAccBase
Extra margin to be added to the acceptance for the different acceptance types (base jet container) ...
void SetMaxDistance(Double_t dist)
Set the maximum distance.
Definition: External.C:220
Bool_t FillHistograms()
Filling internal QA histograms of jet tagger task.
TH2F ** fh2PtJet1VsLeadPtAllSel
! all jets after std selection
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
void SetExtraMarginTag(Double_t extramargin)
Set extra margin for jet acceptance in eta and phi for both the base and the tag jet container...
Only the closest jet in distance is tagged.
Bool_t fUseSumw2
activate sumw2 for output histograms
const char Option_t
Definition: External.C:48
void ResetTagging(const Int_t c)
Remove tag status of all jets in a given jet container.
Double_t GetDeltaPhi(const AliEmcalJet *jet1, const AliEmcalJet *jet2)
Calculate azimuthal angle between the axises of the jets.
bool Bool_t
Definition: External.C:53
All jets within a maximum distance are tagged.
TH3F * fh3PtJetAreaDRConst
pt jet vs delta eta vs delta phi of constituents
JetTaggingType
Type of the tagging from different sources.
Int_t fContainerTag
jets used for tagging
Container for jet within the EMCAL jet framework.
void UserCreateOutputObjects()
Creating interal QA histograms of the jet tagger task.
Definition: External.C:196
void SetTypeAcceptance(Int_t type)
Setting the acceptance type.
Bool_t RetrieveEventObjects()
Retrieving event objects.
Int_t fSpecPartContTag
particle container optionally used in AliJetContainer::GetFractionSharedPt(). Set only if needed...