#include "TMath.h"
#include "TH1D.h"
#include "TH2D.h"
#include "TSeqCollection.h"
#include "TObjArray.h"
#include "TObjArray.h"
#include "TChain.h"
#include "TMCProcess.h"
#include "TLorentzVector.h"
#include "TDirectory.h"
#include "TROOT.h"
#include "TNtuple.h"
#include "AliLog.h"
#include "AliVParticle.h"
#include "AliMCParticle.h"
#include "AliStack.h"
#include "AliVEvent.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliESDVZERO.h"
#include "AliESDZDC.h"
#include "AliESDtrack.h"
#include "AliFlowTrackCuts.h"
#include "AliFlowEventCuts.h"
#include "AliMultiplicity.h"
#include "AliESDtrackCuts.h"
#include "AliVertex.h"
#include "AliFlowEventSimple.h"
#include "AliFlowEvent.h"
#include "AliFlowVector.h"
#include "AliESDPmdTrack.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisTaskQAPmdflow.h"
ClassImp(AliAnalysisTaskQAPmdflow)
AliAnalysisTaskQAPmdflow::AliAnalysisTaskQAPmdflow()
: AliAnalysisTaskSE(),
fOutput(NULL),
fEventCuts(NULL),
fRPTrackCuts(NULL),
fPOITrackCuts(NULL)
{
}
AliAnalysisTaskQAPmdflow::AliAnalysisTaskQAPmdflow(const char* name)
: AliAnalysisTaskSE(name),
fOutput(NULL),
fEventCuts(NULL),
fRPTrackCuts(NULL),
fPOITrackCuts(NULL)
{
DefineOutput(1, TObjArray::Class());
}
void AliAnalysisTaskQAPmdflow::UserCreateOutputObjects()
{
fOutput=new TObjArray();
TH1F* histB = new TH1F("PMD ADC cutB","PMD ADC cutB",500,0,10000);
fOutput->Add(histB);
TH1F* histA = new TH1F("PMD ADC cutA","PMD ADC cutA",500,0,10000);
fOutput->Add(histA);
TH1F* histCelB = new TH1F("PMD ncell CutB", "PMD ncell CutB",100,0,100);
fOutput->Add(histCelB);
TH1F* histCelA = new TH1F("PMD ncell CutA", "PMD ncell CutA",100,0,100);
fOutput->Add(histCelA);
PostData(1, fOutput);
}
void AliAnalysisTaskQAPmdflow::UserExec(Option_t *)
{
AliESDEvent* event = dynamic_cast<AliESDEvent*>(InputEvent());
if (!event)
{
AliFatal("no ESD event");
return;
}
fRPTrackCuts->SetEvent(event);
AliFlowTrackCuts::trackParameterType sourceRP = fRPTrackCuts->GetParamType();
AliFlowTrackCuts::trackParameterType sourcePOI = fPOITrackCuts->GetParamType();
Bool_t PmdTrRp = kFALSE;
Bool_t PmdTrPoi = kFALSE;
if(sourcePOI == 4) PmdTrPoi = kTRUE;
if(sourceRP == 4) PmdTrRp = kTRUE;
if((!PmdTrPoi) && (!PmdTrRp))
{
printf("Error : PMD track is not used as POI or RP");
return;
}
TH1F* hPmdAdcB = static_cast<TH1F*>(fOutput->At(0));
TH1F* hPmdAdcA = static_cast<TH1F*>(fOutput->At(1));
TH1F* hPmdNcelB = static_cast<TH1F*>(fOutput->At(2));
TH1F* hPmdNcelA = static_cast<TH1F*>(fOutput->At(3));
Int_t ntracks = 0;
if(PmdTrRp) ntracks = fRPTrackCuts->GetNumberOfInputObjects();
if(PmdTrPoi) ntracks = fPOITrackCuts->GetNumberOfInputObjects();
for (Int_t i=0; i < ntracks; i++)
{
Bool_t pass = kFALSE;
TObject* obj = 0x0;
if(PmdTrPoi){
obj = fPOITrackCuts->GetInputObject(i);
if (!obj) continue;
pass = fPOITrackCuts->IsSelected(obj,i);
}
if(PmdTrRp){
obj = fRPTrackCuts->GetInputObject(i);
if (!obj) continue;
pass = fRPTrackCuts->IsSelected(obj,i);
}
AliESDPmdTrack* trackpmd = dynamic_cast<AliESDPmdTrack*>(obj);
if (trackpmd)
{
Int_t det = trackpmd->GetDetector();
Float_t adc = trackpmd->GetClusterADC();
Float_t ncel = trackpmd->GetClusterCells();
if(det == 0){
hPmdAdcB->Fill(adc); if(pass) hPmdAdcA->Fill(adc);
hPmdNcelB->Fill(ncel); if(pass) hPmdNcelA->Fill(ncel);
}
}
}
}
void AliAnalysisTaskQAPmdflow::Terminate(Option_t *)
{
}
AliAnalysisTaskQAPmdflow::~AliAnalysisTaskQAPmdflow()
{
delete fRPTrackCuts;
delete fPOITrackCuts;
delete fEventCuts;
}
AliAnalysisTaskQAPmdflow.cxx:1 AliAnalysisTaskQAPmdflow.cxx:2 AliAnalysisTaskQAPmdflow.cxx:3 AliAnalysisTaskQAPmdflow.cxx:4 AliAnalysisTaskQAPmdflow.cxx:5 AliAnalysisTaskQAPmdflow.cxx:6 AliAnalysisTaskQAPmdflow.cxx:7 AliAnalysisTaskQAPmdflow.cxx:8 AliAnalysisTaskQAPmdflow.cxx:9 AliAnalysisTaskQAPmdflow.cxx:10 AliAnalysisTaskQAPmdflow.cxx:11 AliAnalysisTaskQAPmdflow.cxx:12 AliAnalysisTaskQAPmdflow.cxx:13 AliAnalysisTaskQAPmdflow.cxx:14 AliAnalysisTaskQAPmdflow.cxx:15 AliAnalysisTaskQAPmdflow.cxx:16 AliAnalysisTaskQAPmdflow.cxx:17 AliAnalysisTaskQAPmdflow.cxx:18 AliAnalysisTaskQAPmdflow.cxx:19 AliAnalysisTaskQAPmdflow.cxx:20 AliAnalysisTaskQAPmdflow.cxx:21 AliAnalysisTaskQAPmdflow.cxx:22 AliAnalysisTaskQAPmdflow.cxx:23 AliAnalysisTaskQAPmdflow.cxx:24 AliAnalysisTaskQAPmdflow.cxx:25 AliAnalysisTaskQAPmdflow.cxx:26 AliAnalysisTaskQAPmdflow.cxx:27 AliAnalysisTaskQAPmdflow.cxx:28 AliAnalysisTaskQAPmdflow.cxx:29 AliAnalysisTaskQAPmdflow.cxx:30 AliAnalysisTaskQAPmdflow.cxx:31 AliAnalysisTaskQAPmdflow.cxx:32 AliAnalysisTaskQAPmdflow.cxx:33 AliAnalysisTaskQAPmdflow.cxx:34 AliAnalysisTaskQAPmdflow.cxx:35 AliAnalysisTaskQAPmdflow.cxx:36 AliAnalysisTaskQAPmdflow.cxx:37 AliAnalysisTaskQAPmdflow.cxx:38 AliAnalysisTaskQAPmdflow.cxx:39 AliAnalysisTaskQAPmdflow.cxx:40 AliAnalysisTaskQAPmdflow.cxx:41 AliAnalysisTaskQAPmdflow.cxx:42 AliAnalysisTaskQAPmdflow.cxx:43 AliAnalysisTaskQAPmdflow.cxx:44 AliAnalysisTaskQAPmdflow.cxx:45 AliAnalysisTaskQAPmdflow.cxx:46 AliAnalysisTaskQAPmdflow.cxx:47 AliAnalysisTaskQAPmdflow.cxx:48 AliAnalysisTaskQAPmdflow.cxx:49 AliAnalysisTaskQAPmdflow.cxx:50 AliAnalysisTaskQAPmdflow.cxx:51 AliAnalysisTaskQAPmdflow.cxx:52 AliAnalysisTaskQAPmdflow.cxx:53 AliAnalysisTaskQAPmdflow.cxx:54 AliAnalysisTaskQAPmdflow.cxx:55 AliAnalysisTaskQAPmdflow.cxx:56 AliAnalysisTaskQAPmdflow.cxx:57 AliAnalysisTaskQAPmdflow.cxx:58 AliAnalysisTaskQAPmdflow.cxx:59 AliAnalysisTaskQAPmdflow.cxx:60 AliAnalysisTaskQAPmdflow.cxx:61 AliAnalysisTaskQAPmdflow.cxx:62 AliAnalysisTaskQAPmdflow.cxx:63 AliAnalysisTaskQAPmdflow.cxx:64 AliAnalysisTaskQAPmdflow.cxx:65 AliAnalysisTaskQAPmdflow.cxx:66 AliAnalysisTaskQAPmdflow.cxx:67 AliAnalysisTaskQAPmdflow.cxx:68 AliAnalysisTaskQAPmdflow.cxx:69 AliAnalysisTaskQAPmdflow.cxx:70 AliAnalysisTaskQAPmdflow.cxx:71 AliAnalysisTaskQAPmdflow.cxx:72 AliAnalysisTaskQAPmdflow.cxx:73 AliAnalysisTaskQAPmdflow.cxx:74 AliAnalysisTaskQAPmdflow.cxx:75 AliAnalysisTaskQAPmdflow.cxx:76 AliAnalysisTaskQAPmdflow.cxx:77 AliAnalysisTaskQAPmdflow.cxx:78 AliAnalysisTaskQAPmdflow.cxx:79 AliAnalysisTaskQAPmdflow.cxx:80 AliAnalysisTaskQAPmdflow.cxx:81 AliAnalysisTaskQAPmdflow.cxx:82 AliAnalysisTaskQAPmdflow.cxx:83 AliAnalysisTaskQAPmdflow.cxx:84 AliAnalysisTaskQAPmdflow.cxx:85 AliAnalysisTaskQAPmdflow.cxx:86 AliAnalysisTaskQAPmdflow.cxx:87 AliAnalysisTaskQAPmdflow.cxx:88 AliAnalysisTaskQAPmdflow.cxx:89 AliAnalysisTaskQAPmdflow.cxx:90 AliAnalysisTaskQAPmdflow.cxx:91 AliAnalysisTaskQAPmdflow.cxx:92 AliAnalysisTaskQAPmdflow.cxx:93 AliAnalysisTaskQAPmdflow.cxx:94 AliAnalysisTaskQAPmdflow.cxx:95 AliAnalysisTaskQAPmdflow.cxx:96 AliAnalysisTaskQAPmdflow.cxx:97 AliAnalysisTaskQAPmdflow.cxx:98 AliAnalysisTaskQAPmdflow.cxx:99 AliAnalysisTaskQAPmdflow.cxx:100 AliAnalysisTaskQAPmdflow.cxx:101 AliAnalysisTaskQAPmdflow.cxx:102 AliAnalysisTaskQAPmdflow.cxx:103 AliAnalysisTaskQAPmdflow.cxx:104 AliAnalysisTaskQAPmdflow.cxx:105 AliAnalysisTaskQAPmdflow.cxx:106 AliAnalysisTaskQAPmdflow.cxx:107 AliAnalysisTaskQAPmdflow.cxx:108 AliAnalysisTaskQAPmdflow.cxx:109 AliAnalysisTaskQAPmdflow.cxx:110 AliAnalysisTaskQAPmdflow.cxx:111 AliAnalysisTaskQAPmdflow.cxx:112 AliAnalysisTaskQAPmdflow.cxx:113 AliAnalysisTaskQAPmdflow.cxx:114 AliAnalysisTaskQAPmdflow.cxx:115 AliAnalysisTaskQAPmdflow.cxx:116 AliAnalysisTaskQAPmdflow.cxx:117 AliAnalysisTaskQAPmdflow.cxx:118 AliAnalysisTaskQAPmdflow.cxx:119 AliAnalysisTaskQAPmdflow.cxx:120 AliAnalysisTaskQAPmdflow.cxx:121 AliAnalysisTaskQAPmdflow.cxx:122 AliAnalysisTaskQAPmdflow.cxx:123 AliAnalysisTaskQAPmdflow.cxx:124 AliAnalysisTaskQAPmdflow.cxx:125 AliAnalysisTaskQAPmdflow.cxx:126 AliAnalysisTaskQAPmdflow.cxx:127 AliAnalysisTaskQAPmdflow.cxx:128 AliAnalysisTaskQAPmdflow.cxx:129 AliAnalysisTaskQAPmdflow.cxx:130 AliAnalysisTaskQAPmdflow.cxx:131 AliAnalysisTaskQAPmdflow.cxx:132 AliAnalysisTaskQAPmdflow.cxx:133 AliAnalysisTaskQAPmdflow.cxx:134 AliAnalysisTaskQAPmdflow.cxx:135 AliAnalysisTaskQAPmdflow.cxx:136 AliAnalysisTaskQAPmdflow.cxx:137 AliAnalysisTaskQAPmdflow.cxx:138 AliAnalysisTaskQAPmdflow.cxx:139 AliAnalysisTaskQAPmdflow.cxx:140 AliAnalysisTaskQAPmdflow.cxx:141 AliAnalysisTaskQAPmdflow.cxx:142 AliAnalysisTaskQAPmdflow.cxx:143 AliAnalysisTaskQAPmdflow.cxx:144 AliAnalysisTaskQAPmdflow.cxx:145 AliAnalysisTaskQAPmdflow.cxx:146 AliAnalysisTaskQAPmdflow.cxx:147 AliAnalysisTaskQAPmdflow.cxx:148 AliAnalysisTaskQAPmdflow.cxx:149 AliAnalysisTaskQAPmdflow.cxx:150 AliAnalysisTaskQAPmdflow.cxx:151 AliAnalysisTaskQAPmdflow.cxx:152 AliAnalysisTaskQAPmdflow.cxx:153 AliAnalysisTaskQAPmdflow.cxx:154 AliAnalysisTaskQAPmdflow.cxx:155 AliAnalysisTaskQAPmdflow.cxx:156 AliAnalysisTaskQAPmdflow.cxx:157 AliAnalysisTaskQAPmdflow.cxx:158 AliAnalysisTaskQAPmdflow.cxx:159 AliAnalysisTaskQAPmdflow.cxx:160 AliAnalysisTaskQAPmdflow.cxx:161 AliAnalysisTaskQAPmdflow.cxx:162 AliAnalysisTaskQAPmdflow.cxx:163 AliAnalysisTaskQAPmdflow.cxx:164 AliAnalysisTaskQAPmdflow.cxx:165 AliAnalysisTaskQAPmdflow.cxx:166 AliAnalysisTaskQAPmdflow.cxx:167 AliAnalysisTaskQAPmdflow.cxx:168 AliAnalysisTaskQAPmdflow.cxx:169 AliAnalysisTaskQAPmdflow.cxx:170