ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////////////
//                                                                       //
//                                                                       //
// Class to test TPC warm-up LASER EVENTS rejection.                     //
//                                                                       //
// Author: Alexander Kalweit (GSI)                                       //
// Modified: Jacek Otwinowski (GSI)                                      //
///////////////////////////////////////////////////////////////////////////

#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)
{
  // default Constructor
}


//________________________________________________________________________
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)
{
  //
  // standard constructur which should be used
  //
  Printf("*** CONSTRUCTOR CALLED ****");
  if(deltaTime)
  {
    fTimeBins = TMath::Nint((fTimeEnd-fTimeStart)/deltaTime);  
    printf("fTimeBins %d \n",fTimeBins);
  } else {
    printf("deltaTime is 0 \n"); 
  }

  // Output slot #0 writes into a TList container
  DefineOutput(1, TList::Class());

}




//________________________________________________________________________
void AliAnalysisNoiseTPC::UserCreateOutputObjects() 
{
  // Create histograms
  // Called once

  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);
  //
  /*
  UInt_t StartTime = 1272672000; // 1st of May
  UInt_t EndTime = 1288569600; // 1st of Nov
  Double_t deltaTime = EndTime - StartTime;
  Int_t timeBins = TMath::Nint(deltaTime/(15.*60)); // every 15min
  */

  // event number in file, # noise tracks, isSelectMB, isSelectWarm, has vtx., time
  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 *) 
{
  //
  // main event loop
  //
  AliLog::SetGlobalLogLevel(AliLog::kError);
  //
  // Check Monte Carlo information and other access first:
  //
  fESD = dynamic_cast<AliESDEvent*>( InputEvent() );
  if (!fESD) {
    //Printf("ERROR: fESD not available");
    return;
  }
  
  if (!fESDtrackCuts) {
    Printf("ERROR: fESDtrackCuts not available");
    return;
  }
  
  //
  // check if event is selected by physics selection class
  //
  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;
  // check MB
  isSelectedMB = inputHandler->IsEventSelected() & AliVEvent::kMB;

  // get physics selection
  physicsSelection = static_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());
  if(!physicsSelection) return;

  // check Warm Up events
  Bool_t isSelectedWarm = kFALSE;
  triggerAnalysis = physicsSelection->GetTriggerAnalysis();
  if(!triggerAnalysis) return;
  isSelectedWarm = triggerAnalysis->IsOfflineTriggerFired(fESD, AliTriggerAnalysis::kTPCLaserWarmUp);

  //
  // monitor vertex position
  //
  const AliESDVertex *vertex = fESD->GetPrimaryVertexTracks();
  if(vertex->GetNContributors()<1) {
    // SPD vertex
    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 (track->GetTPCchi2()/track->GetTPCNcls() > 0.3) 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; // explicitly ask for tracks without ITS refit
    if ((status&AliESDtrack::kTPCrefit)!=AliESDtrack::kTPCrefit) continue;
    
    if (track->GetTPCsignal() > 10) continue;          // explicitly ask for tracks without dE/dx
    
    //if (TMath::Abs(track->GetZ()) < 50) continue;
    
    trackCounter++;
  }

  /*
  Float_t dca[2], cov[3];
  // 1st track loop to determine multiplicities
  for (Int_t i=0;i<fESD->GetNumberOfTracks();++i) {
    AliESDtrack *track = fESD->GetTrack(i);
    if (!track) continue;
    if (fESDtrackCuts->AcceptTrack(track)) {
      UInt_t status = track->GetStatus();
      if ((status&AliESDtrack::kITSrefit)==1) continue; // explicitly ask for tracks without ITS refit
      if (track->GetTPCsignal() > 30) continue;          // explicitly ask for tracks without dE/dx
      //if (track->GetTPCNcls() > 80) continue;
      track->GetImpactParameters(dca, cov);
      if (TMath::Abs(dca[0]) > 10) continue;
      trackCounter++;
      //
    }
  }
  */
 
  // run number, # noise tracks, isSelectedMB, isSelectedWarm, has vtx.
  Bool_t hasVtx = vertex;
  if (trackCounter > 98) trackCounter = 98;
  //Double_t vecNoise[7] = {fESD->GetRunNumber(),fESD->GetEventNumberInFile(), trackCounter, isSelectedMB, isSelectedWarm, hasVtx, fESD->GetTimeStamp()};
  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;
  }

  /*
  if (trackCounter > -1) {
    fHistNoiseTracks->Fill(vecNoise);
    if (trackCounter > 25 && trackCounter < 90 && fESD->GetEventSpecie() != AliRecoParam::kCalib) { // dump all availbale info for these events
      cout << "NOISE_EVENT_CATEGORY:"<<"\t"<<
	AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->GetTree()->GetCurrentFile()->GetName()<<"\t"<< 
	fESD->GetEventNumberInFile() << "\t" << 
	fESD->GetTimeStamp() <<endl;
      for (Int_t i=0;i<fESD->GetNumberOfTracks();++i) {
	AliESDtrack *track = fESD->GetTrack(i);
	if (fESDtrackCuts->AcceptTrack(track)) cout << "NOISE_TRACK:"<<"\t"<<
	  track->GetTPCNcls() <<"\t"<<
	  track->GetTPCsignal() <<"\t"<<
	  track->GetAlpha() <<"\t"<<
	  track->Pt() <<"\t"<<
	  track->GetZ() <<"\t"<<
	  track->Eta() << endl;
      }
    }
    if (fESD->GetEventSpecie() == AliRecoParam::kCalib) {
      cout << "LASER_EVENT_CATEGORY:"<<"\t"<<
	AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->GetTree()->GetCurrentFile()->GetName()<<"\t"<< 
	fESD->GetEventNumberInFile() << "\t" << 
	fESD->GetTimeStamp() <<endl;
    }
     
  }
  */
 
  // Post output data  
  PostData(1, fListHist);
  
}      

//________________________________________________________________________
void AliAnalysisNoiseTPC::Terminate(Option_t *) 
{
  // Draw result to the screen
  // Called once at the end of the query
  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