#include <TClonesArray.h>
#include "AliEmcalTriggerPatchInfo.h"
#include "AliEMCalTriggerBinningComponent.h"
#include "AliEMCalTriggerEventData.h"
#include "AliEMCalTriggerPatchAnalysisComponent.h"
ClassImp(EMCalTriggerPtAnalysis::AliEMCalTriggerPatchAnalysisComponent)
namespace EMCalTriggerPtAnalysis {
AliEMCalTriggerPatchAnalysisComponent::AliEMCalTriggerPatchAnalysisComponent() :
AliEMCalTriggerTracksAnalysisComponent()
{
}
AliEMCalTriggerPatchAnalysisComponent::AliEMCalTriggerPatchAnalysisComponent(const char *name) :
AliEMCalTriggerTracksAnalysisComponent(name)
{
}
void AliEMCalTriggerPatchAnalysisComponent::CreateHistos() {
AliEMCalTriggerTracksAnalysisComponent::CreateHistos();
AliEMCalTriggerBinningDimension *etabinning = fBinning->GetBinning("eta"),
*phibinning = fBinning->GetBinning("phi");
const TAxis *patchenergyaxes[4] = {
DefineAxis("energy", 100, 0., 100),
DefineAxis("eta", etabinning),
DefineAxis("phi", phibinning),
DefineAxis("isMain", 2, -0.5, 1.5)
};
const TAxis *patchampaxes[4] = {
DefineAxis("amplitude", 10000, 0., 10000.),
DefineAxis("eta", etabinning),
DefineAxis("phi", phibinning),
DefineAxis("isMain", 2, -0.5, 1.5)
};
std::string patchnames[] = {"Level0", "JetHigh", "JetLow", "GammaHigh", "GammaLow"};
for(std::string * triggerpatch = patchnames; triggerpatch < patchnames + sizeof(patchnames)/sizeof(std::string); ++triggerpatch){
fHistos->CreateTHnSparse(Form("Energy%s", triggerpatch->c_str()), Form("Patch energy for %s trigger patches", triggerpatch->c_str()), 4, patchenergyaxes, "s");
fHistos->CreateTHnSparse(Form("EnergyRough%s", triggerpatch->c_str()), Form("Rough patch energy for %s trigger patches", triggerpatch->c_str()), 4, patchenergyaxes, "s");
fHistos->CreateTHnSparse(Form("Amplitude%s", triggerpatch->c_str()), Form("Patch amplitude for %s trigger patches", triggerpatch->c_str()), 4, patchampaxes, "s");
}
}
void AliEMCalTriggerPatchAnalysisComponent::Process(const AliEMCalTriggerEventData* const data) {
AliEmcalTriggerPatchInfo *triggerpatch(NULL);
TIter patchIter(data->GetTriggerPatchContainer());
while((triggerpatch = dynamic_cast<AliEmcalTriggerPatchInfo *>(patchIter()))){
double triggerpatchinfo[4] = {triggerpatch->GetPatchE(), triggerpatch->GetEtaGeo(), triggerpatch->GetPhiGeo(), triggerpatch->IsMainTrigger() ? 1. : 0.};
double triggerpatchinfoamp[4] = {static_cast<double>(triggerpatch->GetADCAmp()), triggerpatch->GetEtaGeo(), triggerpatch->GetPhiGeo(), triggerpatch->IsMainTrigger() ? 1. : 0.};
double triggerpatchinfoer[4] = {triggerpatch->GetADCAmpGeVRough(), triggerpatch->GetEtaGeo(), triggerpatch->GetPhiGeo(), triggerpatch->IsMainTrigger() ? 1. : 0.};
if(triggerpatch->IsJetHigh()){
fHistos->FillTHnSparse("EnergyJetHigh", triggerpatchinfo);
fHistos->FillTHnSparse("AmplitudeJetHigh", triggerpatchinfoamp);
fHistos->FillTHnSparse("EnergyRoughJetHigh", triggerpatchinfoer);
}
if(triggerpatch->IsJetLow()){
fHistos->FillTHnSparse("EnergyJetLow", triggerpatchinfo);
fHistos->FillTHnSparse("AmplitudeJetLow", triggerpatchinfoamp);
fHistos->FillTHnSparse("EnergyRoughJetLow", triggerpatchinfoer);
}
if(triggerpatch->IsGammaHigh()){
fHistos->FillTHnSparse("EnergyGammaHigh", triggerpatchinfo);
fHistos->FillTHnSparse("AmplitudeGammaHigh", triggerpatchinfoamp);
fHistos->FillTHnSparse("EnergyRoughGammaHigh", triggerpatchinfoer);
}
if(triggerpatch->IsGammaLow()){
fHistos->FillTHnSparse("EnergyGammaLow", triggerpatchinfo);
fHistos->FillTHnSparse("AmplitudeGammaLow", triggerpatchinfoamp);
fHistos->FillTHnSparse("EnergyRoughGammaLow", triggerpatchinfoer);
}
if(triggerpatch->IsLevel0()){
fHistos->FillTHnSparse("EnergyLevel0", triggerpatchinfo);
fHistos->FillTHnSparse("AmplitudeLevel0", triggerpatchinfoamp);
fHistos->FillTHnSparse("EnergyRoughLevel0", triggerpatchinfoer);
}
}
}
}
AliEMCalTriggerPatchAnalysisComponent.cxx:1 AliEMCalTriggerPatchAnalysisComponent.cxx:2 AliEMCalTriggerPatchAnalysisComponent.cxx:3 AliEMCalTriggerPatchAnalysisComponent.cxx:4 AliEMCalTriggerPatchAnalysisComponent.cxx:5 AliEMCalTriggerPatchAnalysisComponent.cxx:6 AliEMCalTriggerPatchAnalysisComponent.cxx:7 AliEMCalTriggerPatchAnalysisComponent.cxx:8 AliEMCalTriggerPatchAnalysisComponent.cxx:9 AliEMCalTriggerPatchAnalysisComponent.cxx:10 AliEMCalTriggerPatchAnalysisComponent.cxx:11 AliEMCalTriggerPatchAnalysisComponent.cxx:12 AliEMCalTriggerPatchAnalysisComponent.cxx:13 AliEMCalTriggerPatchAnalysisComponent.cxx:14 AliEMCalTriggerPatchAnalysisComponent.cxx:15 AliEMCalTriggerPatchAnalysisComponent.cxx:16 AliEMCalTriggerPatchAnalysisComponent.cxx:17 AliEMCalTriggerPatchAnalysisComponent.cxx:18 AliEMCalTriggerPatchAnalysisComponent.cxx:19 AliEMCalTriggerPatchAnalysisComponent.cxx:20 AliEMCalTriggerPatchAnalysisComponent.cxx:21 AliEMCalTriggerPatchAnalysisComponent.cxx:22 AliEMCalTriggerPatchAnalysisComponent.cxx:23 AliEMCalTriggerPatchAnalysisComponent.cxx:24 AliEMCalTriggerPatchAnalysisComponent.cxx:25 AliEMCalTriggerPatchAnalysisComponent.cxx:26 AliEMCalTriggerPatchAnalysisComponent.cxx:27 AliEMCalTriggerPatchAnalysisComponent.cxx:28 AliEMCalTriggerPatchAnalysisComponent.cxx:29 AliEMCalTriggerPatchAnalysisComponent.cxx:30 AliEMCalTriggerPatchAnalysisComponent.cxx:31 AliEMCalTriggerPatchAnalysisComponent.cxx:32 AliEMCalTriggerPatchAnalysisComponent.cxx:33 AliEMCalTriggerPatchAnalysisComponent.cxx:34 AliEMCalTriggerPatchAnalysisComponent.cxx:35 AliEMCalTriggerPatchAnalysisComponent.cxx:36 AliEMCalTriggerPatchAnalysisComponent.cxx:37 AliEMCalTriggerPatchAnalysisComponent.cxx:38 AliEMCalTriggerPatchAnalysisComponent.cxx:39 AliEMCalTriggerPatchAnalysisComponent.cxx:40 AliEMCalTriggerPatchAnalysisComponent.cxx:41 AliEMCalTriggerPatchAnalysisComponent.cxx:42 AliEMCalTriggerPatchAnalysisComponent.cxx:43 AliEMCalTriggerPatchAnalysisComponent.cxx:44 AliEMCalTriggerPatchAnalysisComponent.cxx:45 AliEMCalTriggerPatchAnalysisComponent.cxx:46 AliEMCalTriggerPatchAnalysisComponent.cxx:47 AliEMCalTriggerPatchAnalysisComponent.cxx:48 AliEMCalTriggerPatchAnalysisComponent.cxx:49 AliEMCalTriggerPatchAnalysisComponent.cxx:50 AliEMCalTriggerPatchAnalysisComponent.cxx:51 AliEMCalTriggerPatchAnalysisComponent.cxx:52 AliEMCalTriggerPatchAnalysisComponent.cxx:53 AliEMCalTriggerPatchAnalysisComponent.cxx:54 AliEMCalTriggerPatchAnalysisComponent.cxx:55 AliEMCalTriggerPatchAnalysisComponent.cxx:56 AliEMCalTriggerPatchAnalysisComponent.cxx:57 AliEMCalTriggerPatchAnalysisComponent.cxx:58 AliEMCalTriggerPatchAnalysisComponent.cxx:59 AliEMCalTriggerPatchAnalysisComponent.cxx:60 AliEMCalTriggerPatchAnalysisComponent.cxx:61 AliEMCalTriggerPatchAnalysisComponent.cxx:62 AliEMCalTriggerPatchAnalysisComponent.cxx:63 AliEMCalTriggerPatchAnalysisComponent.cxx:64 AliEMCalTriggerPatchAnalysisComponent.cxx:65 AliEMCalTriggerPatchAnalysisComponent.cxx:66 AliEMCalTriggerPatchAnalysisComponent.cxx:67 AliEMCalTriggerPatchAnalysisComponent.cxx:68 AliEMCalTriggerPatchAnalysisComponent.cxx:69 AliEMCalTriggerPatchAnalysisComponent.cxx:70 AliEMCalTriggerPatchAnalysisComponent.cxx:71 AliEMCalTriggerPatchAnalysisComponent.cxx:72 AliEMCalTriggerPatchAnalysisComponent.cxx:73 AliEMCalTriggerPatchAnalysisComponent.cxx:74 AliEMCalTriggerPatchAnalysisComponent.cxx:75 AliEMCalTriggerPatchAnalysisComponent.cxx:76 AliEMCalTriggerPatchAnalysisComponent.cxx:77 AliEMCalTriggerPatchAnalysisComponent.cxx:78 AliEMCalTriggerPatchAnalysisComponent.cxx:79 AliEMCalTriggerPatchAnalysisComponent.cxx:80 AliEMCalTriggerPatchAnalysisComponent.cxx:81 AliEMCalTriggerPatchAnalysisComponent.cxx:82 AliEMCalTriggerPatchAnalysisComponent.cxx:83 AliEMCalTriggerPatchAnalysisComponent.cxx:84 AliEMCalTriggerPatchAnalysisComponent.cxx:85 AliEMCalTriggerPatchAnalysisComponent.cxx:86 AliEMCalTriggerPatchAnalysisComponent.cxx:87 AliEMCalTriggerPatchAnalysisComponent.cxx:88 AliEMCalTriggerPatchAnalysisComponent.cxx:89 AliEMCalTriggerPatchAnalysisComponent.cxx:90 AliEMCalTriggerPatchAnalysisComponent.cxx:91 AliEMCalTriggerPatchAnalysisComponent.cxx:92 AliEMCalTriggerPatchAnalysisComponent.cxx:93 AliEMCalTriggerPatchAnalysisComponent.cxx:94 AliEMCalTriggerPatchAnalysisComponent.cxx:95 AliEMCalTriggerPatchAnalysisComponent.cxx:96 AliEMCalTriggerPatchAnalysisComponent.cxx:97 AliEMCalTriggerPatchAnalysisComponent.cxx:98 AliEMCalTriggerPatchAnalysisComponent.cxx:99 AliEMCalTriggerPatchAnalysisComponent.cxx:100 AliEMCalTriggerPatchAnalysisComponent.cxx:101 AliEMCalTriggerPatchAnalysisComponent.cxx:102 AliEMCalTriggerPatchAnalysisComponent.cxx:103 AliEMCalTriggerPatchAnalysisComponent.cxx:104 AliEMCalTriggerPatchAnalysisComponent.cxx:105 AliEMCalTriggerPatchAnalysisComponent.cxx:106 AliEMCalTriggerPatchAnalysisComponent.cxx:107 AliEMCalTriggerPatchAnalysisComponent.cxx:108 AliEMCalTriggerPatchAnalysisComponent.cxx:109 AliEMCalTriggerPatchAnalysisComponent.cxx:110 AliEMCalTriggerPatchAnalysisComponent.cxx:111 AliEMCalTriggerPatchAnalysisComponent.cxx:112 AliEMCalTriggerPatchAnalysisComponent.cxx:113 AliEMCalTriggerPatchAnalysisComponent.cxx:114 AliEMCalTriggerPatchAnalysisComponent.cxx:115 AliEMCalTriggerPatchAnalysisComponent.cxx:116 AliEMCalTriggerPatchAnalysisComponent.cxx:117 AliEMCalTriggerPatchAnalysisComponent.cxx:118 AliEMCalTriggerPatchAnalysisComponent.cxx:119