// EMCal tender task adder
// Author: Jiri Kral
AliTender *AddTaskEMCALTender(const char *geoname="EMCAL_COMPLETEV1", AliEMCALRecParam *pars = 0 , Bool_t withNonlinearity = kTRUE , Bool_t withReclusterizing = kFALSE, Int_t trackmatchcuts==0)
{
// Parameters: geoname = "EMCAL_FIRSTYEARV1" or "EMCAL_COMPLETEV1" or ""
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskEMCALTender", "No analysis manager to connect to.");
return NULL;
}
// Create the task and configure it.
//===========================================================================
AliTender* ana = new AliTender("TenderTask");
mgr->AddTask(ana);
// Adding EMCAL supply
AliEMCALTenderSupply *EMCALSupply=new AliEMCALTenderSupply("EMCALtender");
EMCALSupply->SetEMCALGeometryName(geoname);
// prepare the reco params ------------------------------------------------
if( pars == 0 ){
// you can write your reco params here to avoid loading them automatically
// from OCDB during execution time
AliEMCALRecParam *params = new AliEMCALRecParam();
// reclustering parameters
// use v1 for pp and v2 for PbPb
params->SetClusterizerFlag(AliEMCALRecParam::kClusterizerv2);
params->SetClusteringThreshold(0.1); // 100 MeV
params->SetMinECut(0.05); //50 MeV
params->SetW0(4.5);
// you may want to enable the timing cut
params->SetTimeCut(1e6);// s
params->SetTimeMin(-1);
params->SetTimeMax(1e6);//s
EMCALSupply->SetRecParam(params);
}
else{
cout << "------- TENDER is using supplied reco params -------" << endl;
pars->Print( "reco" );
cout << "----------------------------------------------------" << endl;
EMCALSupply->SetRecParam(pars);
}
// prepare tender parameters ----------------------------------------------
EMCALSupply->SetDebugLevel( 0 );
// fiducial cut
EMCALSupply->SetNumberOfCellsFromEMCALBorder( 1 );
// nonlinearity
EMCALSupply->SetNonLinearityFunction( AliEMCALTenderSupply::kBeamTestCorrected );
// track matching parameters
//EMCALSupply->SetMass(0.139);
//EMCALSupply->SetStep(5);
//EMCALSupply->SwitchOnCutEtaPhiSum();
//EMCALSupply->SetRCut(0.025);
EMCALSupply->SwitchOnCutEtaPhiSeparate();
// EMCALSupply->SetEtaCut(0.015);
// EMCALSupply->SetPhiCut(0.03);
if(trackmatchcuts==0){//default
EMCALSupply->SetEtaCut(0.025);
EMCALSupply->SetPhiCut(0.05);
}
if(trackmatchcuts==1){//tighter
EMCALSupply->SetEtaCut(0.015);
EMCALSupply->SetPhiCut(0.03);
}
if(trackmatchcuts==2){//looser
EMCALSupply->SetEtaCut(0.035);
EMCALSupply->SetPhiCut(0.07);
}
// switches ---------------------------------------------------------------
EMCALSupply->SwitchOnBadCellRemove();
EMCALSupply->SwitchOnExoticCellRemove();
EMCALSupply->SwitchOnCalibrateEnergy();
EMCALSupply->SwitchOnCalibrateTime();
EMCALSupply->SwitchOnUpdateCell();
if(withReclusterizing) EMCALSupply->SwitchOnReclustering();
EMCALSupply->SwitchOnClusterBadChannelCheck();
EMCALSupply->SwitchOnClusterExoticChannelCheck();
EMCALSupply->SwitchOnCellFiducialRegion();
EMCALSupply->SwitchOnReCalibrateCluster();
EMCALSupply->SwitchOnRecalculateClusPos();
EMCALSupply->SwitchOnRecalShowerShape();
EMCALSupply->SwitchOnRecalDistBadChannel();
if(withNonlinearity) EMCALSupply->SwitchOnNonLinearityCorrection();
else{cout<<"WARNING: TURNING OFF NONLINEARITY"<<endl;}
EMCALSupply->SwitchOnTrackMatch();
ana->AddSupply(EMCALSupply);
// Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
// AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histosEmcalTender", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s", AliAnalysisManager::GetCommonFileName()));
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("emcal_tender_event", AliESDEvent::Class(),
AliAnalysisManager::kExchangeContainer,"emcal_tender");
mgr->ConnectInput (ana, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput (ana, 1, coutput1 );
return ana;
}
AddTaskEMCALTenderForEtAnalysis.C:1 AddTaskEMCALTenderForEtAnalysis.C:2 AddTaskEMCALTenderForEtAnalysis.C:3 AddTaskEMCALTenderForEtAnalysis.C:4 AddTaskEMCALTenderForEtAnalysis.C:5 AddTaskEMCALTenderForEtAnalysis.C:6 AddTaskEMCALTenderForEtAnalysis.C:7 AddTaskEMCALTenderForEtAnalysis.C:8 AddTaskEMCALTenderForEtAnalysis.C:9 AddTaskEMCALTenderForEtAnalysis.C:10 AddTaskEMCALTenderForEtAnalysis.C:11 AddTaskEMCALTenderForEtAnalysis.C:12 AddTaskEMCALTenderForEtAnalysis.C:13 AddTaskEMCALTenderForEtAnalysis.C:14 AddTaskEMCALTenderForEtAnalysis.C:15 AddTaskEMCALTenderForEtAnalysis.C:16 AddTaskEMCALTenderForEtAnalysis.C:17 AddTaskEMCALTenderForEtAnalysis.C:18 AddTaskEMCALTenderForEtAnalysis.C:19 AddTaskEMCALTenderForEtAnalysis.C:20 AddTaskEMCALTenderForEtAnalysis.C:21 AddTaskEMCALTenderForEtAnalysis.C:22 AddTaskEMCALTenderForEtAnalysis.C:23 AddTaskEMCALTenderForEtAnalysis.C:24 AddTaskEMCALTenderForEtAnalysis.C:25 AddTaskEMCALTenderForEtAnalysis.C:26 AddTaskEMCALTenderForEtAnalysis.C:27 AddTaskEMCALTenderForEtAnalysis.C:28 AddTaskEMCALTenderForEtAnalysis.C:29 AddTaskEMCALTenderForEtAnalysis.C:30 AddTaskEMCALTenderForEtAnalysis.C:31 AddTaskEMCALTenderForEtAnalysis.C:32 AddTaskEMCALTenderForEtAnalysis.C:33 AddTaskEMCALTenderForEtAnalysis.C:34 AddTaskEMCALTenderForEtAnalysis.C:35 AddTaskEMCALTenderForEtAnalysis.C:36 AddTaskEMCALTenderForEtAnalysis.C:37 AddTaskEMCALTenderForEtAnalysis.C:38 AddTaskEMCALTenderForEtAnalysis.C:39 AddTaskEMCALTenderForEtAnalysis.C:40 AddTaskEMCALTenderForEtAnalysis.C:41 AddTaskEMCALTenderForEtAnalysis.C:42 AddTaskEMCALTenderForEtAnalysis.C:43 AddTaskEMCALTenderForEtAnalysis.C:44 AddTaskEMCALTenderForEtAnalysis.C:45 AddTaskEMCALTenderForEtAnalysis.C:46 AddTaskEMCALTenderForEtAnalysis.C:47 AddTaskEMCALTenderForEtAnalysis.C:48 AddTaskEMCALTenderForEtAnalysis.C:49 AddTaskEMCALTenderForEtAnalysis.C:50 AddTaskEMCALTenderForEtAnalysis.C:51 AddTaskEMCALTenderForEtAnalysis.C:52 AddTaskEMCALTenderForEtAnalysis.C:53 AddTaskEMCALTenderForEtAnalysis.C:54 AddTaskEMCALTenderForEtAnalysis.C:55 AddTaskEMCALTenderForEtAnalysis.C:56 AddTaskEMCALTenderForEtAnalysis.C:57 AddTaskEMCALTenderForEtAnalysis.C:58 AddTaskEMCALTenderForEtAnalysis.C:59 AddTaskEMCALTenderForEtAnalysis.C:60 AddTaskEMCALTenderForEtAnalysis.C:61 AddTaskEMCALTenderForEtAnalysis.C:62 AddTaskEMCALTenderForEtAnalysis.C:63 AddTaskEMCALTenderForEtAnalysis.C:64 AddTaskEMCALTenderForEtAnalysis.C:65 AddTaskEMCALTenderForEtAnalysis.C:66 AddTaskEMCALTenderForEtAnalysis.C:67 AddTaskEMCALTenderForEtAnalysis.C:68 AddTaskEMCALTenderForEtAnalysis.C:69 AddTaskEMCALTenderForEtAnalysis.C:70 AddTaskEMCALTenderForEtAnalysis.C:71 AddTaskEMCALTenderForEtAnalysis.C:72 AddTaskEMCALTenderForEtAnalysis.C:73 AddTaskEMCALTenderForEtAnalysis.C:74 AddTaskEMCALTenderForEtAnalysis.C:75 AddTaskEMCALTenderForEtAnalysis.C:76 AddTaskEMCALTenderForEtAnalysis.C:77 AddTaskEMCALTenderForEtAnalysis.C:78 AddTaskEMCALTenderForEtAnalysis.C:79 AddTaskEMCALTenderForEtAnalysis.C:80 AddTaskEMCALTenderForEtAnalysis.C:81 AddTaskEMCALTenderForEtAnalysis.C:82 AddTaskEMCALTenderForEtAnalysis.C:83 AddTaskEMCALTenderForEtAnalysis.C:84 AddTaskEMCALTenderForEtAnalysis.C:85 AddTaskEMCALTenderForEtAnalysis.C:86 AddTaskEMCALTenderForEtAnalysis.C:87 AddTaskEMCALTenderForEtAnalysis.C:88 AddTaskEMCALTenderForEtAnalysis.C:89 AddTaskEMCALTenderForEtAnalysis.C:90 AddTaskEMCALTenderForEtAnalysis.C:91 AddTaskEMCALTenderForEtAnalysis.C:92 AddTaskEMCALTenderForEtAnalysis.C:93 AddTaskEMCALTenderForEtAnalysis.C:94 AddTaskEMCALTenderForEtAnalysis.C:95 AddTaskEMCALTenderForEtAnalysis.C:96 AddTaskEMCALTenderForEtAnalysis.C:97 AddTaskEMCALTenderForEtAnalysis.C:98 AddTaskEMCALTenderForEtAnalysis.C:99 AddTaskEMCALTenderForEtAnalysis.C:100 AddTaskEMCALTenderForEtAnalysis.C:101 AddTaskEMCALTenderForEtAnalysis.C:102 AddTaskEMCALTenderForEtAnalysis.C:103 AddTaskEMCALTenderForEtAnalysis.C:104 AddTaskEMCALTenderForEtAnalysis.C:105 AddTaskEMCALTenderForEtAnalysis.C:106 AddTaskEMCALTenderForEtAnalysis.C:107 AddTaskEMCALTenderForEtAnalysis.C:108 AddTaskEMCALTenderForEtAnalysis.C:109 AddTaskEMCALTenderForEtAnalysis.C:110 AddTaskEMCALTenderForEtAnalysis.C:111 AddTaskEMCALTenderForEtAnalysis.C:112 AddTaskEMCALTenderForEtAnalysis.C:113 AddTaskEMCALTenderForEtAnalysis.C:114 AddTaskEMCALTenderForEtAnalysis.C:115