#include "Riostream.h"
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TList.h"
#include "TMath.h"
#include "TCanvas.h"
#include "TObjArray.h"
#include "TF1.h"
#include "TFile.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliHeader.h"
#include "AliGenPythiaEventHeader.h"
#include "AliGenCocktailEventHeader.h"
#include "AliPhysicsSelection.h"
#include "AliTriggerAnalysis.h"
#include "AliPID.h"
#include "AliESDtrackCuts.h"
#include "AliESDVertex.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDtrack.h"
#include "AliESDpid.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliRecoParam.h"
#include "AliLog.h"
#include "AliAnalysisNoiseTPC.h"
using std::cout;
using std::endl;
ClassImp(AliAnalysisNoiseTPC)
AliAnalysisNoiseTPC::AliAnalysisNoiseTPC()
: AliAnalysisTaskSE("TaskChargedHadron"), fESD(0), fListHist(0), fESDtrackCuts(0),
fHistNoiseTracks(0),fTimeBins(0),fTimeStart(0),fTimeEnd(0)
{
}
AliAnalysisNoiseTPC::AliAnalysisNoiseTPC(const char *name,UInt_t StartTime, UInt_t EndTime, Int_t deltaTime)
: AliAnalysisTaskSE(name), fESD(0), fListHist(0), fESDtrackCuts(0),
fHistNoiseTracks(0), fTimeBins(0), fTimeStart(StartTime), fTimeEnd(EndTime)
{
Printf("*** CONSTRUCTOR CALLED ****");
if(deltaTime)
{
fTimeBins = TMath::Nint((fTimeEnd-fTimeStart)/deltaTime);
printf("fTimeBins %d \n",fTimeBins);
} else {
printf("deltaTime is 0 \n");
}
DefineOutput(1, TList::Class());
}
void AliAnalysisNoiseTPC::UserCreateOutputObjects()
{
fESDtrackCuts = new AliESDtrackCuts("AliESDtrackCuts","AliESDtrackCuts");
fESDtrackCuts->SetAcceptKinkDaughters(kFALSE);
fESDtrackCuts->SetMinNClustersTPC(80);
fESDtrackCuts->SetMaxChi2PerClusterTPC(2);
fESDtrackCuts->SetRequireTPCRefit(kTRUE);
fESDtrackCuts->SetRequireITSRefit(kFALSE);
fESDtrackCuts->SetEtaRange(-0.005,+0.005);
fESDtrackCuts->SetPtRange(10., 1e10);
fListHist = new TList();
fListHist->SetOwner(kTRUE);
Int_t binsHistNoise[6] = { 20000, 100, 2, 2, 2, fTimeBins};
Double_t xminHistNoise[6] = { -0.5, -0.5, -0.5, -0.5,-0.5, fTimeStart};
Double_t xmaxHistNoise[6] = {19999.5, 99.5, 1.5, 1.5, 1.5, fTimeEnd};
fHistNoiseTracks = new THnSparseS("fHistNoiseTracks","noise tracks: ev in file, # noise tracks, isSelectMB, isSelectWarm, has vtx,time",6,binsHistNoise,xminHistNoise,xmaxHistNoise);
fListHist->Add(fHistNoiseTracks);
PostData(1, fListHist);
}
void AliAnalysisNoiseTPC::UserExec(Option_t *)
{
AliLog::SetGlobalLogLevel(AliLog::kError);
fESD = dynamic_cast<AliESDEvent*>( InputEvent() );
if (!fESD) {
return;
}
if (!fESDtrackCuts) {
Printf("ERROR: fESDtrackCuts not available");
return;
}
AliPhysicsSelection *physicsSelection = NULL;
AliTriggerAnalysis* triggerAnalysis = NULL;
AliInputEventHandler* inputHandler = (AliInputEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
if (!inputHandler)
{
Printf("ERROR: Could not receive input handler");
return;
}
Bool_t isSelectedMB = kFALSE;
isSelectedMB = inputHandler->IsEventSelected() & AliVEvent::kMB;
physicsSelection = static_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());
if(!physicsSelection) return;
Bool_t isSelectedWarm = kFALSE;
triggerAnalysis = physicsSelection->GetTriggerAnalysis();
if(!triggerAnalysis) return;
isSelectedWarm = triggerAnalysis->IsOfflineTriggerFired(fESD, AliTriggerAnalysis::kTPCLaserWarmUp);
const AliESDVertex *vertex = fESD->GetPrimaryVertexTracks();
if(vertex->GetNContributors()<1) {
vertex = fESD->GetPrimaryVertexSPD();
if(vertex->GetNContributors()<1) vertex = 0x0;
}
Int_t trackCounter = 0;
for (Int_t i=0; i<fESD->GetNumberOfTracks(); ++i)
{
AliESDtrack *track = fESD->GetTrack(i);
if (!track)
continue;
if (track->GetTPCNcls() < 30) continue;
if (TMath::Abs(track->Eta()) > 0.005) continue;
if (track->Pt() < 4) continue;
if (track->GetKinkIndex(0) > 0) continue;
UInt_t status = track->GetStatus();
if ((status&AliESDtrack::kITSrefit)==AliESDtrack::kITSrefit) continue;
if ((status&AliESDtrack::kTPCrefit)!=AliESDtrack::kTPCrefit) continue;
if (track->GetTPCsignal() > 10) continue;
trackCounter++;
}
Bool_t hasVtx = vertex;
if (trackCounter > 98) trackCounter = 98;
Double_t vecNoise[6] = {static_cast<Double_t>(fESD->GetEventNumberInFile()), static_cast<Double_t>(trackCounter), static_cast<Double_t>(isSelectedMB), static_cast<Double_t>(isSelectedWarm), static_cast<Double_t>(hasVtx), static_cast<Double_t>(fESD->GetTimeStamp())};
fHistNoiseTracks->Fill(vecNoise);
if (trackCounter > 0) {
cout << "NOISE_EVENT_CATEGORY:"<<"\t"<<
AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->GetTree()->GetCurrentFile()->GetName()<<"\t"<<
fESD->GetEventNumberInFile() << "\t" <<
fESD->GetTimeStamp() <<endl;
}
PostData(1, fListHist);
}
void AliAnalysisNoiseTPC::Terminate(Option_t *)
{
Printf("*** CONSTRUCTOR CALLED ****");
}
AliAnalysisNoiseTPC.cxx:1 AliAnalysisNoiseTPC.cxx:2 AliAnalysisNoiseTPC.cxx:3 AliAnalysisNoiseTPC.cxx:4 AliAnalysisNoiseTPC.cxx:5 AliAnalysisNoiseTPC.cxx:6 AliAnalysisNoiseTPC.cxx:7 AliAnalysisNoiseTPC.cxx:8 AliAnalysisNoiseTPC.cxx:9 AliAnalysisNoiseTPC.cxx:10 AliAnalysisNoiseTPC.cxx:11 AliAnalysisNoiseTPC.cxx:12 AliAnalysisNoiseTPC.cxx:13 AliAnalysisNoiseTPC.cxx:14 AliAnalysisNoiseTPC.cxx:15 AliAnalysisNoiseTPC.cxx:16 AliAnalysisNoiseTPC.cxx:17 AliAnalysisNoiseTPC.cxx:18 AliAnalysisNoiseTPC.cxx:19 AliAnalysisNoiseTPC.cxx:20 AliAnalysisNoiseTPC.cxx:21 AliAnalysisNoiseTPC.cxx:22 AliAnalysisNoiseTPC.cxx:23 AliAnalysisNoiseTPC.cxx:24 AliAnalysisNoiseTPC.cxx:25 AliAnalysisNoiseTPC.cxx:26 AliAnalysisNoiseTPC.cxx:27 AliAnalysisNoiseTPC.cxx:28 AliAnalysisNoiseTPC.cxx:29 AliAnalysisNoiseTPC.cxx:30 AliAnalysisNoiseTPC.cxx:31 AliAnalysisNoiseTPC.cxx:32 AliAnalysisNoiseTPC.cxx:33 AliAnalysisNoiseTPC.cxx:34 AliAnalysisNoiseTPC.cxx:35 AliAnalysisNoiseTPC.cxx:36 AliAnalysisNoiseTPC.cxx:37 AliAnalysisNoiseTPC.cxx:38 AliAnalysisNoiseTPC.cxx:39 AliAnalysisNoiseTPC.cxx:40 AliAnalysisNoiseTPC.cxx:41 AliAnalysisNoiseTPC.cxx:42 AliAnalysisNoiseTPC.cxx:43 AliAnalysisNoiseTPC.cxx:44 AliAnalysisNoiseTPC.cxx:45 AliAnalysisNoiseTPC.cxx:46 AliAnalysisNoiseTPC.cxx:47 AliAnalysisNoiseTPC.cxx:48 AliAnalysisNoiseTPC.cxx:49 AliAnalysisNoiseTPC.cxx:50 AliAnalysisNoiseTPC.cxx:51 AliAnalysisNoiseTPC.cxx:52 AliAnalysisNoiseTPC.cxx:53 AliAnalysisNoiseTPC.cxx:54 AliAnalysisNoiseTPC.cxx:55 AliAnalysisNoiseTPC.cxx:56 AliAnalysisNoiseTPC.cxx:57 AliAnalysisNoiseTPC.cxx:58 AliAnalysisNoiseTPC.cxx:59 AliAnalysisNoiseTPC.cxx:60 AliAnalysisNoiseTPC.cxx:61 AliAnalysisNoiseTPC.cxx:62 AliAnalysisNoiseTPC.cxx:63 AliAnalysisNoiseTPC.cxx:64 AliAnalysisNoiseTPC.cxx:65 AliAnalysisNoiseTPC.cxx:66 AliAnalysisNoiseTPC.cxx:67 AliAnalysisNoiseTPC.cxx:68 AliAnalysisNoiseTPC.cxx:69 AliAnalysisNoiseTPC.cxx:70 AliAnalysisNoiseTPC.cxx:71 AliAnalysisNoiseTPC.cxx:72 AliAnalysisNoiseTPC.cxx:73 AliAnalysisNoiseTPC.cxx:74 AliAnalysisNoiseTPC.cxx:75 AliAnalysisNoiseTPC.cxx:76 AliAnalysisNoiseTPC.cxx:77 AliAnalysisNoiseTPC.cxx:78 AliAnalysisNoiseTPC.cxx:79 AliAnalysisNoiseTPC.cxx:80 AliAnalysisNoiseTPC.cxx:81 AliAnalysisNoiseTPC.cxx:82 AliAnalysisNoiseTPC.cxx:83 AliAnalysisNoiseTPC.cxx:84 AliAnalysisNoiseTPC.cxx:85 AliAnalysisNoiseTPC.cxx:86 AliAnalysisNoiseTPC.cxx:87 AliAnalysisNoiseTPC.cxx:88 AliAnalysisNoiseTPC.cxx:89 AliAnalysisNoiseTPC.cxx:90 AliAnalysisNoiseTPC.cxx:91 AliAnalysisNoiseTPC.cxx:92 AliAnalysisNoiseTPC.cxx:93 AliAnalysisNoiseTPC.cxx:94 AliAnalysisNoiseTPC.cxx:95 AliAnalysisNoiseTPC.cxx:96 AliAnalysisNoiseTPC.cxx:97 AliAnalysisNoiseTPC.cxx:98 AliAnalysisNoiseTPC.cxx:99 AliAnalysisNoiseTPC.cxx:100 AliAnalysisNoiseTPC.cxx:101 AliAnalysisNoiseTPC.cxx:102 AliAnalysisNoiseTPC.cxx:103 AliAnalysisNoiseTPC.cxx:104 AliAnalysisNoiseTPC.cxx:105 AliAnalysisNoiseTPC.cxx:106 AliAnalysisNoiseTPC.cxx:107 AliAnalysisNoiseTPC.cxx:108 AliAnalysisNoiseTPC.cxx:109 AliAnalysisNoiseTPC.cxx:110 AliAnalysisNoiseTPC.cxx:111 AliAnalysisNoiseTPC.cxx:112 AliAnalysisNoiseTPC.cxx:113 AliAnalysisNoiseTPC.cxx:114 AliAnalysisNoiseTPC.cxx:115 AliAnalysisNoiseTPC.cxx:116 AliAnalysisNoiseTPC.cxx:117 AliAnalysisNoiseTPC.cxx:118 AliAnalysisNoiseTPC.cxx:119 AliAnalysisNoiseTPC.cxx:120 AliAnalysisNoiseTPC.cxx:121 AliAnalysisNoiseTPC.cxx:122 AliAnalysisNoiseTPC.cxx:123 AliAnalysisNoiseTPC.cxx:124 AliAnalysisNoiseTPC.cxx:125 AliAnalysisNoiseTPC.cxx:126 AliAnalysisNoiseTPC.cxx:127 AliAnalysisNoiseTPC.cxx:128 AliAnalysisNoiseTPC.cxx:129 AliAnalysisNoiseTPC.cxx:130 AliAnalysisNoiseTPC.cxx:131 AliAnalysisNoiseTPC.cxx:132 AliAnalysisNoiseTPC.cxx:133 AliAnalysisNoiseTPC.cxx:134 AliAnalysisNoiseTPC.cxx:135 AliAnalysisNoiseTPC.cxx:136 AliAnalysisNoiseTPC.cxx:137 AliAnalysisNoiseTPC.cxx:138 AliAnalysisNoiseTPC.cxx:139 AliAnalysisNoiseTPC.cxx:140 AliAnalysisNoiseTPC.cxx:141 AliAnalysisNoiseTPC.cxx:142 AliAnalysisNoiseTPC.cxx:143 AliAnalysisNoiseTPC.cxx:144 AliAnalysisNoiseTPC.cxx:145 AliAnalysisNoiseTPC.cxx:146 AliAnalysisNoiseTPC.cxx:147 AliAnalysisNoiseTPC.cxx:148 AliAnalysisNoiseTPC.cxx:149 AliAnalysisNoiseTPC.cxx:150 AliAnalysisNoiseTPC.cxx:151 AliAnalysisNoiseTPC.cxx:152 AliAnalysisNoiseTPC.cxx:153 AliAnalysisNoiseTPC.cxx:154 AliAnalysisNoiseTPC.cxx:155 AliAnalysisNoiseTPC.cxx:156 AliAnalysisNoiseTPC.cxx:157 AliAnalysisNoiseTPC.cxx:158 AliAnalysisNoiseTPC.cxx:159 AliAnalysisNoiseTPC.cxx:160 AliAnalysisNoiseTPC.cxx:161 AliAnalysisNoiseTPC.cxx:162 AliAnalysisNoiseTPC.cxx:163 AliAnalysisNoiseTPC.cxx:164 AliAnalysisNoiseTPC.cxx:165 AliAnalysisNoiseTPC.cxx:166 AliAnalysisNoiseTPC.cxx:167 AliAnalysisNoiseTPC.cxx:168 AliAnalysisNoiseTPC.cxx:169 AliAnalysisNoiseTPC.cxx:170 AliAnalysisNoiseTPC.cxx:171 AliAnalysisNoiseTPC.cxx:172 AliAnalysisNoiseTPC.cxx:173 AliAnalysisNoiseTPC.cxx:174 AliAnalysisNoiseTPC.cxx:175 AliAnalysisNoiseTPC.cxx:176 AliAnalysisNoiseTPC.cxx:177 AliAnalysisNoiseTPC.cxx:178 AliAnalysisNoiseTPC.cxx:179 AliAnalysisNoiseTPC.cxx:180 AliAnalysisNoiseTPC.cxx:181 AliAnalysisNoiseTPC.cxx:182 AliAnalysisNoiseTPC.cxx:183 AliAnalysisNoiseTPC.cxx:184 AliAnalysisNoiseTPC.cxx:185 AliAnalysisNoiseTPC.cxx:186 AliAnalysisNoiseTPC.cxx:187 AliAnalysisNoiseTPC.cxx:188 AliAnalysisNoiseTPC.cxx:189 AliAnalysisNoiseTPC.cxx:190 AliAnalysisNoiseTPC.cxx:191 AliAnalysisNoiseTPC.cxx:192 AliAnalysisNoiseTPC.cxx:193 AliAnalysisNoiseTPC.cxx:194 AliAnalysisNoiseTPC.cxx:195 AliAnalysisNoiseTPC.cxx:196 AliAnalysisNoiseTPC.cxx:197 AliAnalysisNoiseTPC.cxx:198 AliAnalysisNoiseTPC.cxx:199 AliAnalysisNoiseTPC.cxx:200 AliAnalysisNoiseTPC.cxx:201 AliAnalysisNoiseTPC.cxx:202 AliAnalysisNoiseTPC.cxx:203 AliAnalysisNoiseTPC.cxx:204 AliAnalysisNoiseTPC.cxx:205 AliAnalysisNoiseTPC.cxx:206 AliAnalysisNoiseTPC.cxx:207 AliAnalysisNoiseTPC.cxx:208 AliAnalysisNoiseTPC.cxx:209 AliAnalysisNoiseTPC.cxx:210 AliAnalysisNoiseTPC.cxx:211 AliAnalysisNoiseTPC.cxx:212 AliAnalysisNoiseTPC.cxx:213 AliAnalysisNoiseTPC.cxx:214 AliAnalysisNoiseTPC.cxx:215 AliAnalysisNoiseTPC.cxx:216 AliAnalysisNoiseTPC.cxx:217 AliAnalysisNoiseTPC.cxx:218 AliAnalysisNoiseTPC.cxx:219 AliAnalysisNoiseTPC.cxx:220 AliAnalysisNoiseTPC.cxx:221 AliAnalysisNoiseTPC.cxx:222 AliAnalysisNoiseTPC.cxx:223 AliAnalysisNoiseTPC.cxx:224 AliAnalysisNoiseTPC.cxx:225 AliAnalysisNoiseTPC.cxx:226 AliAnalysisNoiseTPC.cxx:227 AliAnalysisNoiseTPC.cxx:228 AliAnalysisNoiseTPC.cxx:229 AliAnalysisNoiseTPC.cxx:230 AliAnalysisNoiseTPC.cxx:231 AliAnalysisNoiseTPC.cxx:232 AliAnalysisNoiseTPC.cxx:233 AliAnalysisNoiseTPC.cxx:234 AliAnalysisNoiseTPC.cxx:235 AliAnalysisNoiseTPC.cxx:236 AliAnalysisNoiseTPC.cxx:237 AliAnalysisNoiseTPC.cxx:238 AliAnalysisNoiseTPC.cxx:239 AliAnalysisNoiseTPC.cxx:240 AliAnalysisNoiseTPC.cxx:241 AliAnalysisNoiseTPC.cxx:242 AliAnalysisNoiseTPC.cxx:243 AliAnalysisNoiseTPC.cxx:244 AliAnalysisNoiseTPC.cxx:245 AliAnalysisNoiseTPC.cxx:246 AliAnalysisNoiseTPC.cxx:247 AliAnalysisNoiseTPC.cxx:248 AliAnalysisNoiseTPC.cxx:249 AliAnalysisNoiseTPC.cxx:250 AliAnalysisNoiseTPC.cxx:251 AliAnalysisNoiseTPC.cxx:252 AliAnalysisNoiseTPC.cxx:253 AliAnalysisNoiseTPC.cxx:254 AliAnalysisNoiseTPC.cxx:255 AliAnalysisNoiseTPC.cxx:256 AliAnalysisNoiseTPC.cxx:257 AliAnalysisNoiseTPC.cxx:258 AliAnalysisNoiseTPC.cxx:259 AliAnalysisNoiseTPC.cxx:260 AliAnalysisNoiseTPC.cxx:261 AliAnalysisNoiseTPC.cxx:262 AliAnalysisNoiseTPC.cxx:263 AliAnalysisNoiseTPC.cxx:264 AliAnalysisNoiseTPC.cxx:265 AliAnalysisNoiseTPC.cxx:266 AliAnalysisNoiseTPC.cxx:267 AliAnalysisNoiseTPC.cxx:268 AliAnalysisNoiseTPC.cxx:269 AliAnalysisNoiseTPC.cxx:270 AliAnalysisNoiseTPC.cxx:271 AliAnalysisNoiseTPC.cxx:272 AliAnalysisNoiseTPC.cxx:273 AliAnalysisNoiseTPC.cxx:274 AliAnalysisNoiseTPC.cxx:275 AliAnalysisNoiseTPC.cxx:276 AliAnalysisNoiseTPC.cxx:277 AliAnalysisNoiseTPC.cxx:278 AliAnalysisNoiseTPC.cxx:279 AliAnalysisNoiseTPC.cxx:280 AliAnalysisNoiseTPC.cxx:281 AliAnalysisNoiseTPC.cxx:282 AliAnalysisNoiseTPC.cxx:283 AliAnalysisNoiseTPC.cxx:284 AliAnalysisNoiseTPC.cxx:285 AliAnalysisNoiseTPC.cxx:286 AliAnalysisNoiseTPC.cxx:287 AliAnalysisNoiseTPC.cxx:288 AliAnalysisNoiseTPC.cxx:289 AliAnalysisNoiseTPC.cxx:290 AliAnalysisNoiseTPC.cxx:291 AliAnalysisNoiseTPC.cxx:292 AliAnalysisNoiseTPC.cxx:293 AliAnalysisNoiseTPC.cxx:294 AliAnalysisNoiseTPC.cxx:295 AliAnalysisNoiseTPC.cxx:296 AliAnalysisNoiseTPC.cxx:297 AliAnalysisNoiseTPC.cxx:298 AliAnalysisNoiseTPC.cxx:299 AliAnalysisNoiseTPC.cxx:300 AliAnalysisNoiseTPC.cxx:301 AliAnalysisNoiseTPC.cxx:302