19 #include "AliAnalysisManager.h" 20 #include "AliVEventHandler.h" 180 fArea = source.
fArea;
269 fArea = source.
fArea;
322 fArea = source.
fArea;
325 fMCPt = source.
fMCPt;
338 DefineOutput(2, TTree::Class());
351 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPP>");
355 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPbPb>");
359 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryEmbedding>");
363 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPPCharged>");
367 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPbPbCharged>");
371 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPP>");
375 ::Info(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Created an instance of AliAnalysisTaskEmcalJetTree<AliEmcalJetInfoSummaryPPCharged>");
379 ::Error(
"AliAnalysisTaskEmcalJetTreeBase::CreateInstance",
"Type %d not implemented!", type);
391 template <
class T,
class U>
452 template <
class T,
class U>
463 template <
class T,
class U>
466 typename std::map<std::string,std::vector<T> >::iterator it = (
fCurrentOutput->insert(std::pair<std::string,std::vector<T> >(jets->GetName(), std::vector<T>()))).first;
467 fTree->Branch(jets->GetName(), &((*it).second));
471 template <
class T,
class U>
476 TString treeName = TString::Format(
"%s_jets", GetName());
478 fTree->Branch(
"Event", &fCurrentEvent);
488 template <
class T,
class U>
491 static typename std::map<std::string, std::vector<T> >::iterator it =
fCurrentOutput->end();
498 it->second.push_back(
T(jet));
504 template <
class T,
class U>
507 typedef typename std::map<std::string, std::vector<T> >::iterator iterator_type;
516 if (!r)
return kFALSE;
536 ::Error(
"AddTaskEmcalJetTree",
"No analysis manager to connect to.");
541 AliVEventHandler* handler = mgr->GetInputEventHandler();
543 ::Error(
"AddTaskEmcalJetTree",
"This task requires an input event handler");
549 if (handler->InheritsFrom(
"AliESDInputHandler")) {
552 else if (handler->InheritsFrom(
"AliAODInputHandler")) {
558 if (ntracks ==
"usedefault") {
559 if (dataType ==
kESD) {
562 else if (dataType ==
kAOD) {
570 if (nclusters ==
"usedefault") {
571 if (dataType ==
kESD) {
572 nclusters =
"CaloClusters";
574 else if (dataType ==
kAOD) {
575 nclusters =
"caloClusters";
582 TString name(
"AliAnalysisTaskEmcalJetTree");
583 if (strcmp(suffix,
"")) {
604 mgr->AddTask(jetTask);
607 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
609 contname0 +=
"_jets";
611 contname1 +=
"_histos";
612 AliAnalysisDataContainer *coutput0 = mgr->CreateContainer(contname0.Data(),
613 TTree::Class(),AliAnalysisManager::kOutputContainer,
614 Form(
"%s", AliAnalysisManager::GetCommonFileName()));
615 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname1.Data(),
616 TList::Class(),AliAnalysisManager::kOutputContainer,
617 Form(
"%s", AliAnalysisManager::GetCommonFileName()));
618 mgr->ConnectInput (jetTask, 0, cinput1 );
619 mgr->ConnectOutput (jetTask, 1, coutput1 );
620 mgr->ConnectOutput (jetTask, 2, coutput0 );
AliClusterContainer * AddClusterContainer(std::string branchName, std::string contName="")
void SetParticlePtCut(Double_t cut)
Double_t fPtHard
!event pt hard
void Set(const AliEmcalJetInfo &source)
EDataType_t
Switch for the data type.
void Set(const AliEmcalJetInfo &source)
templateClassImp(AliTHnT) template< class TemplateArray
void Set(EventInfo event)
void Reset()
Reset the object.
Double_t fEPV0
!event plane V0
void Reset()
Reset the object.
Double32_t fPhi
Phi of the jet.
Class that encapsulates jets in a very compact structure (pp analysis)
void FillTTree(const AliEmcalJetInfo &jetInfo, const AliJetContainer *jets)
Class that encapsulates jets in a very compact structure (embedding analysis)
Double32_t fNConstituents
Number of constituents.
void Reset()
Reset the object.
void Set(const AliEmcalJetInfo &source)
Double32_t fEta
Eta of the jet.
void Set(EventInfo event)
void UserCreateOutputObjects()
Overloads base class method. Creates output objects.
void Set(const AliEmcalJetInfo &source)
Class that encapsulates jets in a very compact structure (Pb-Pb analysis)
Container for particles within the EMCAL framework.
UShort_t T(UShort_t m, UShort_t t)
AliEmcalJetInfoSummaryPP()
Double32_t fEta
Eta of the jet.
void Set(const AliEmcalJetInfo &source)
TTree * fTree
! Output tree
AliEmcalJetInfoSummaryPPCharged()
AliAnalysisTaskEmcalJetTree()
Default constructor for ROOT I/O purposes.
Double32_t fPt
Transverse momentum of the jet in GeV/c.
Double_t Phi_0_2pi() const
void UserCreateOutputObjects()
Overloads base class method. Creates output objects.
Double32_t fNConstituents
Number of constituents.
Class that encapsulates event properties in a very compact structure (PbPb analysis) ...
Declaration of class AliAnalysisTaskEmcalJetTree.
void SetNeedEmcalGeom(Bool_t n)
void SetHistoType(EHistoType_t t)
Double32_t fCent
Centrality of the collision.
Pure virtual base class for AliAnalysisTaskEmcalJetTree<T>
Float_t fEventWeight
!event weight
Implementation of a task to generate a tree with all jets.
Double32_t fEP
Event plane of the collision.
Double32_t fWeight
Centrality of the collision.
AliParticleContainer * AddParticleContainer(std::string branchName, std::string contName="")
AliEmcalJetEventInfoSummaryPbPb()
static AliAnalysisTaskEmcalJetTreeBase * CreateInstance(const char *name, EAnalisysType_t type=kJetPP)
std::map< std::string, std::vector< T > > * fCurrentOutput
! This map contains the pointers of the tree branch objects
Class that encapsulates jets in a very compact structure (pp analysis)
void Reset()
Reset the object.
Double32_t fPhi
Phi of the jet.
void SetVzRange(Double_t min, Double_t max)
void Reset()
Reset the object.
Class that encapsulates event properties in a very compact structure (pp simulation analysis) ...
void SetClusPtCut(Double_t cut)
AliEmcalJetEventInfoSummaryPPSimulation()
void Reset()
Reset the object.
Double32_t fPt
Transverse momentum of the jet in GeV/c.
U * fCurrentEvent
! This pointer holds the event object branch
Class that encapsulates jets in a very compact structure (Pb-Pb analysis)
void SetClusECut(Double_t cut)
void SetDefaultClusterEnergy(Int_t d)
void Reset()
Reset the object.
Container structure for EMCAL clusters.
Double_t fCent
!event centrality
Container for jet within the EMCAL jet framework.
void AllocateTTree(const AliJetContainer *jets)
Implementation of a task to perform QA on jet spectra.
static AliAnalysisTaskEmcalJetTreeBase * AddTaskEmcalJetTree(TString ntracks="usedefault", TString nclusters="usedefault", Double_t trackPtCut=0.15, Double_t clusECut=0.30, EAnalisysType_t type=kJetPP, TString suffix="")
void SetClusHadCorrEnergyCut(Double_t cut)
Class that encapsulates jets.