12 fParticlesSubName(""),
13 fUseExternalBkg(kFALSE),
31 fParticlesSubName(
""),
32 fUseExternalBkg(kFALSE),
48 fJetsSubName(other.fJetsSubName),
49 fParticlesSubName(other.fParticlesSubName),
50 fUseExternalBkg(other.fUseExternalBkg),
51 fRhoName(other.fRhoName),
52 fRhomName(other.fRhomName),
55 fJetsSub(other.fJetsSub),
56 fParticlesSub(other.fParticlesSub),
57 fRhoParam(other.fRhoParam),
58 fRhomParam(other.fRhomParam)
68 if (&other ==
this)
return *
this;
91 fJetsSub =
new TClonesArray(
"AliEmcalJet");
96 AliError(Form(
"%s: Object for subtracted jet branch with name %s already in event! Returning", GetName(),
fJetsSubName.Data()));
108 AliError(Form(
"%s: Object with name %s already in event! Returning", GetName(),
fParticlesSubName.Data()));
116 AliError(Form(
"%s: Could not retrieve rho %s!", GetName(),
fRhoName.Data()));
124 AliError(Form(
"%s: Could not retrieve rho_m %s!", GetName(),
fRhomName.Data()));
179 AliWarning(Form(
"No jet branch to write to for subtracted jets. fJetsSubName: %s",
fJetsSubName.Data()));
183 #ifdef FASTJET_VERSION
184 std::vector<fastjet::PseudoJet> jets_event_sub;
186 AliDebug(1,Form(
"%d event constituent subtracted jets found", (
Int_t)jets_event_sub.size()));
187 for (
UInt_t ijet = 0, jetCount = 0; ijet < jets_event_sub.size(); ++ijet) {
190 if(jets_event_sub[ijet].E()>0.) {
191 AliEmcalJet *jet_event_sub =
new ((*fJetsSub)[ijet])
192 AliEmcalJet(jets_event_sub[ijet].perp(), jets_event_sub[ijet].eta(), jets_event_sub[ijet].phi(), jets_event_sub[ijet].m());
197 jet_event_sub->
SetArea(area.perp());
203 std::vector<fastjet::PseudoJet> constituents_sub = jets_event_sub[ijet].constituents();
fastjet::PseudoJet GetEventSubJetAreaVector(UInt_t idx) const
AliRhoParameter * fRhomParam
event rho
void SetUseExternalBkg(Bool_t b, Double_t rho, Double_t rhom)
AliEmcalJetUtility & operator=(const AliEmcalJetUtility &jet)
AliEmcalJetUtilityEventSubtractor()
TClonesArray * fParticlesSub
subtracted jet collection
AliEmcalJetUtilityEventSubtractor & operator=(const AliEmcalJetUtilityEventSubtractor &jet)
void InitEvent(AliFJWrapper &fjw)
void SetJetAcceptanceType(UInt_t type)
UInt_t FindJetAcceptanceType(Double_t eta, Double_t phi, Double_t r)
void ProcessJet(AliEmcalJet *jet, Int_t ij, AliFJWrapper &fjw)
AliParticleContainer * AddParticleContainer(const char *n)
Create new particle container and attach it to the task.
Double_t Phi_0_2pi() const
void Terminate(AliFJWrapper &fjw)
const std::vector< fastjet::PseudoJet > & GetEventSubJets() const
TString fParticlesSubName
AliEmcalJetTask * fJetTask
void SetAreaEta(Double_t a)
void SetMaxDelR(Double_t r)
void Prepare(AliFJWrapper &fjw)
void FillJetConstituents(AliEmcalJet *jet, std::vector< fastjet::PseudoJet > &constituents, std::vector< fastjet::PseudoJet > &constituents_sub, Int_t flag=0, TString particlesSubName="")
Represent a jet reconstructed using the EMCal jet framework.
void SetEventSub(Bool_t b)
void SetAreaPhi(Double_t a)
AliRhoParameter * fRhoParam
subtracted particle collection
ClassImp(AliEmcalJetUtilityEventSubtractor) AliEmcalJetUtilityEventSubtractor
void SetAreaEmc(Double_t a)