14 #if !defined(__CINT__) || defined(__MAKECINT__) 25 #include "AliAnalysisManager.h" 26 #include "AliInputEventHandler.h" 27 #include "AliVTrack.h" 29 #include "AliESDtrackCuts.h" 30 #include "CreateTrackCutsPWGJE.C" 63 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
68 else printf(
"AddTaskCaloTrackCorrBase::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
118 if ( simulation && cutsString.Contains(
"Smearing"))
142 if(inputDataType==
"ESD")
144 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
149 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
151 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
156 else if(inputDataType==
"AOD")
193 if(calorimeter ==
"EMCAL" || calorimeter ==
"DCAL" )
199 if(calorimeter ==
"PHOS")
215 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
217 printf(
"AddTaskCaloTrackCorrBase::ConfigureReader() === Remove bad triggers === \n");
250 if(cutsString.Contains(
"SPDPileUp"))
252 printf(
"AddTaskCaloTrackCorrBase::ConfigureReader() - Switch on Pile-up event rejection by SPD\n");
270 if(printSettings) reader->
Print(
"");
302 if ( calorimeter ==
"PHOS" )
311 if (year == 2010) { nSM = 4; lastEMC = 3; }
312 else if (year < 2014) { nSM = 10; lastEMC = 9; }
316 if (calorimeter.Contains(
"EMCAL"))
321 else if (calorimeter.Contains(
"DCAL"))
332 printf(
"AddTaskCaloTrackCorrBase::CalorimeterUtils() - nSM %d, first %d, last %d\n",
360 Bool_t calibEner = kFALSE;
361 Bool_t calibTime = kFALSE;
387 printf(
"AddTaskCaloTrackCorrBase::ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",
389 printf(
"AddTaskCaloTrackCorrBase::ConfigureCaloUtils() - EMCAL BadMap ON? %d %d\n",
396 if(printSettings) cu->
Print(
"");
427 Bool_t simulation = kFALSE,
430 Int_t rejectEMCTrig = 0,
433 Bool_t calibrate = kFALSE,
439 Bool_t printSettings = kFALSE,
441 const char *trigSuffix =
"EMC7" 448 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/GetAlienGlobalProductionVariables.C");
451 Bool_t printGlobal = kTRUE;
455 printf(
"AddTaskCaloTrackCorrBase::Main() << settings:" 456 "\n calorimeter <%s>, simulation <%d>, year <%d>, col <%s>, " 457 "\n trigger <%s>, reject EMC <%d>, clustersArray <%s>, cuts <%s>" 458 "\n calibrate <%d>, non linearity <%d>, minCen <%d>, maxCen <%d>, " 459 "\n mixOn <%d>, outputfile <%s>, printSettings <%d>, debug <%d> >>\n",
461 trigger.Data(), rejectEMCTrig, clustersArray.Data(), cutsString.Data(),
462 calibrate, nonLinOn, minCen, maxCen,
463 mixOn, outputfile.Data(), printSettings,
debug);
469 ::Error(
"AddTask",
"No analysis manager to connect to.");
475 if (!mgr->GetInputEventHandler())
477 ::Error(
"AddTask",
"This task requires an input event handler");
482 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
486 TString anaCaloTrackCorrBase = Form(
"CTC_%s_Trig_%s",
calorimeter.Data(),trigger.Data());
489 maxCen>=0 ) anaCaloTrackCorrBase+=Form(
"_Cen%d_%d",minCen,maxCen);
490 if ( clustersArray!=
"" ) anaCaloTrackCorrBase+=Form(
"_Cl%s",clustersArray.Data());
491 if ( mixOn ) anaCaloTrackCorrBase+=
"_MixOn";
492 if ( cutsString!=
"" ) anaCaloTrackCorrBase+=
"_"+cutsString;
494 printf(
"AddTaskCaloTrackCorrBase::Main() <<<< Folder name: %s >>>>>\n",
495 anaCaloTrackCorrBase.Data());
505 nonLinOn,calibrate,year,trigger,rejectEMCTrig,
506 minCen,maxCen,printSettings,
debug) );
509 printSettings,
debug) );
511 maker->SetAnaDebug(
debug) ;
513 maker->SwitchOnHistogramsMaker() ;
514 maker->SwitchOnAODsMaker() ;
516 if( simulation || !trigger.Contains(
"EMC") ) maker->SwitchOffDataControlHistograms();
529 maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionHistoFill();
532 maker->SwitchOnPtHardHistogram();
535 if(printSettings) maker->Print(
"");
538 maker->GetListOfAnalysisContainers()->SetName(anaCaloTrackCorrBase);
540 printf(
"AddTaskCaloTrackCorrBase::Main() << End Base Task Configuration for %s >>\n",anaCaloTrackCorrBase.Data());
547 task->SetDebugLevel(
debug);
552 task->SetAnalysisMaker(maker);
559 maker->GetReader()->SwitchOnEventTriggerAtSE();
562 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/ConfigureAndGetEventTriggerMaskAndCaloTriggerString.C");
563 TString caloTriggerString =
"";
566 maker->GetReader()->SetFiredTriggerClassName(caloTriggerString);
571 maker->GetReader()->SwitchOffEventTriggerAtSE();
572 maker->GetReader()->SetEventTriggerMask(mask);
577 maker->GetReader()->SetMixEventTriggerMask(AliVEvent::kINT7);
579 printf(
"AddTaskCaloTrackCorrBase::Main() << Trigger selection done in AliCaloTrackReader!!! >>> \n");
583 task ->SelectCollisionCandidates( mask );
590 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
592 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(anaCaloTrackCorrBase, TList::Class(),
593 AliAnalysisManager::kOutputContainer,
594 Form(
"%s",outputfile.Data()));
596 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",anaCaloTrackCorrBase.Data()), TList::Class(),
597 AliAnalysisManager::kParamContainer,
598 "AnalysisParameters.root");
603 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
605 mgr->ConnectOutput (task, 1, cout_pc);
606 mgr->ConnectOutput (task, 2, cout_cuts);
void SwitchOnBadChannelsRemoval()
virtual void SwitchOnAODTrackSharedClusterSelection()
virtual void SetDebug(Int_t d)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SwitchOffRunDepCorrection()
void SetShowerShapeSmearWidth(Float_t w)
void SetSimpleCTSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SwitchOffUseEMCALTimeCut()
void SetFirstSuperModuleUsed(Int_t first)
virtual void SwitchOnFiducialCut()
void SwitchOnRejectNoTrackEvents()
void SwitchOnLoadOwnEMCALGeometryMatrices()
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
Int_t GetLastSuperModuleUsed() const
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SetLastSuperModuleUsed(Int_t last)
void SwitchOffClusterRecalculation()
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SwitchOnPileUpEventRejection()
void SetSmearingFunction(Int_t smfu)
virtual void SetTrackComplementaryCuts(AliESDtrackCuts *)
AliCaloTrackReader * ConfigureReader(TString col, Bool_t simulation, TString clustersArray, TString calorimeter, TString cutsString, Bool_t nonLinOn, Bool_t calibrate, Int_t year, TString trigger, Bool_t rejectEMCTrig, Int_t minCen, Int_t maxCen, Bool_t printSettings, Int_t debug)
void SwitchOffUseTrackDCACut()
void SetEMCALEMin(Float_t en)
void SetSimpleEMCALFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SwitchOnTriggerPatchMatching()
void SwitchOnRunDepCorrection()
void SetLocalMaximaCutEDiff(Float_t c)
void SetNumberOfCellsFromEMCALBorder(Int_t n)
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SetSimplePHOSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
Bool_t IsRecalibrationOn() const
Some utilities for cluster and cell treatment.
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Class for event, clusters and tracks filtering and preparation for the AOD analysis.
void SetCTSPtMin(Float_t pt)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOffVertexBCEventSelection()
void SwitchOffRecalibration()
virtual void SetDebug(Int_t d)
virtual AliFiducialCut * GetFiducialCut()
virtual void SetCentralityOpt(Int_t opt)
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
Bool_t IsBadChannelsRemovalSwitchedOn() const
AliCalorimeterUtils * ConfigureCaloUtils(TString col, Bool_t simulation, TString calorimeter, Bool_t nonLinOn, Bool_t calibrate, Int_t year, Bool_t printSettings, Int_t debug)
AliAnalysisTaskCaloTrackCorrelation * AddTaskCaloTrackCorrBase(TString calorimeter="EMCAL", Bool_t simulation=kFALSE, Int_t year=2011, TString col="pp", Int_t rejectEMCTrig=0, TString clustersArray="", TString cutsString="", Bool_t calibrate=kFALSE, Bool_t nonLinOn=kFALSE, Int_t minCen=-1, Int_t maxCen=-1, Bool_t mixOn=kTRUE, TString outputfile="", Bool_t printSettings=kFALSE, Int_t debug=0, const char *trigSuffix="EMC7")
void GetAlienGlobalProductionVariables(Bool_t &simulation, TString &col, TString &period, Int_t &year, Bool_t print=kFALSE)
Base class for event, clusters and tracks filtering and preparation for the analysis.
void SwitchOffBadTriggerEventsRemoval()
void SetEMCALClusterListName(TString &name)
Int_t GetNumberOfSuperModulesUsed() const
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOffUseTrackTimeCut()
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOnClusterRecalculation()
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
virtual void SetPtHardAndJetPtFactor(Float_t factor)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
virtual void SetEventPlaneMethod(TString m)
void SetPHOSEMin(Float_t en)
virtual void SetTrackCuts(AliESDtrackCuts *)
void SetPileUpParamForSPD(Int_t i, Double_t param)
virtual void SetCentralityClass(TString name)
void SwitchOnBadTriggerEventsRemoval()
void SwitchOnClusterELinearityCorrection()
void SetTrackTimeCut(Double_t a, Double_t b)
void SetEMCALTimeCut(Double_t a, Double_t b)
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SwitchOffRecalculateVertexBC()
void SetEMCALEMax(Float_t en)
void ConfigureEMCALRecoUtils(Bool_t bMC=kFALSE, Bool_t bExotic=kTRUE, Bool_t bNonLin=kFALSE, Bool_t bRecalE=kTRUE, Bool_t bBad=kTRUE, Bool_t bRecalT=kTRUE, Int_t debug=-1)
void SetPHOSEMax(Float_t en)
Class with utils specific to calorimeter clusters/cells.
void SwitchOnShowerShapeSmearing()
virtual void SwitchOnConstrainTrackToVertex()
Int_t GetFirstSuperModuleUsed() const
void SwitchOffUseParametrizedTimeCut()
void SetLocalMaximaCutE(Float_t cut)
Get year, collision type, mc/data type and period from alien global variables.
Steering class of package CaloTrackCorrelartions.