ROOT logo
 //DEFINITION OF A FEW CONSTANTS
//----------------------------------------------------

/* $Id$ */

AliAnalysisTaskDStarCorrelations *AddTaskDStarCorrelations(AliAnalysisTaskDStarCorrelations::CollSyst syst, // set collisional system (pp, pA, AA)
                                                           Bool_t theMCon, // flag for Data (kFALSE) or MC (kTRUE) analysis
                                                           Bool_t mixing, // flag for Single Event (kFALSE) or Mixed Event (kTRUE) analysis
                                                           Bool_t UseReco=kTRUE, // flag for Kine/pure MC (kFALSE) or Reconstruction (kTRUE) analysis - in data, kTRUE by default
                                                           Bool_t UseHadChannelinMC, // flag to use D*->Kpipi (kTRUE) or any decay (kFALSE) in MC kine
                                                           Bool_t fullmode = kFALSE, // flag to run in fast mode (kFALSE) or slow and detailed (kTRUE)
                                                           Bool_t UseEffic=kFALSE, // flag to use associated track eff (kTRUE = YES, kFALSE = NO)
                                                           Bool_t UseDEffic = kFALSE, // flag to use Dmeson track eff (kTRUE = YES, kFALSE = NO)
                                                           Bool_t useDStarSidebands = kFALSE, // flag to use sidebands from D0 (kFALSE) or sidebands from Dstar (kTRUE)
                                                           Bool_t useOnlyOneDStarPerEvent, // use only one D* per event (kTRUE) or all of them (kFALSE)
                                                           AliAnalysisTaskDStarCorrelations::DEffVariable var, // variable to use in D mesn efficiency correction besides pt
                                                           Int_t trackselect =1, // correlate with hadrons (1), kaons (2), kzeros (3)
                                                           Int_t usedispl =0, // don't use displacement (0), use absolute displacement (1) or relative (normalized by impac.par resol.) displacement (2)
                                                           Int_t nbins, //number of bins in correlations histo
                                                           Float_t DStarSigma, // number of sigmas in dstar selection (for pt shape, eta, phi distr. studies)
                                                           Float_t D0Sigma, // number of sigmas in dzero selection (for pt shape, eta, phi distr. studies)
                                                           Float_t D0SBSigmaLow, // number of sigmas in dzero sb selection (for pt shape, eta, phi distr. studies)
                                                           Float_t D0SBSigmaHigh, // number of sigmas in dzero sb selection (for pt shape, eta, phi distr. studies)
                                                           Float_t eta, // maximum D* eta
                                                           Float_t minDStarPt, // set minimum pt for Dstar
                                                           TString DStarCutsFile, // path of Dmeson cut object
                                                           TString TrackCutsFile, // path of associated cut object
                                                           TString suffix = "" // suffix for output
                                                           )
{

 
    
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error(" AliAnalysisTaskDStarCorrelations", "No analysis manager to connect to.");
    return NULL;
  } 

	cout << "==========================================================" << endl;
    cout << "Set Inputs : " << endl;
    cout << " " << endl;
    if(syst == AliAnalysisTaskDStarCorrelations::pp) cout << "Running on pp @ 7 TeV" << endl;
    if(syst == AliAnalysisTaskDStarCorrelations::pA) cout << "Running on pPb @ 5.02 TeV" << endl;
    if(syst == AliAnalysisTaskDStarCorrelations::AA) cout << "Running on PbPb @ 2.76 TeV" << endl;
    
    if(theMCon) cout << "Analysis on MonteCarlo" << endl;
    else cout << "Analysis on Data" << endl;
    
    if(mixing) cout << "Analysis on Mixed Events" << endl;
    else cout << "Analysis on Single Events" << endl;
    
    if(UseReco) cout << "Using Reconstructed objects" << endl;
    else cout << "Using Pure MC information " << endl;

    if(fullmode) cout << "Running in full mode" << endl;
    else cout << "Running in fast mode " << endl;
    
    if(UseEffic) cout << "Using single track efficiency map" << endl;
    else cout << "Not Using single track efficiency map " << endl;
    
    if(UseDEffic) cout << "Using Dmeson efficiency map" << endl;
    else cout << "Not Using Dmeson efficiency map " << endl;
    
 
    if(var == AliAnalysisTaskDStarCorrelations::kNone) cout << "Applying D Efficiency map vs pT " << endl;
    if(var == AliAnalysisTaskDStarCorrelations::kMult) cout << "Applying D Efficiency map vs pT vs Multiplicity" << endl;
    if(var == AliAnalysisTaskDStarCorrelations::kCentr) cout << "Applying D Efficiency map vs pT vs Centrality" << endl;
    if(var == AliAnalysisTaskDStarCorrelations::kRapidity) cout << "Applying D Efficiency map vs pT vs Rapidity" << endl;
    if(var == AliAnalysisTaskDStarCorrelations::kEta) cout << "Applying D Efficiency map vs pT vs Eta" << endl;

    if(trackselect == 1) cout << "Correlating with hadrons" << endl;
    if(trackselect == 2) cout << "Correlating with kaons" << endl;
    if(trackselect == 3) cout << "Correlating with kzeros" << endl;
    
    if(usedispl == 0) cout << "Not using displacement cut" << endl;
    if(usedispl == 1) cout << "Using absolute displacement cut" << endl;
    if(usedispl == 2) cout << "Using relative displacement cut" << endl;
    
    
    cout << "Number of bins in deltaphi = " << nbins << endl;
    
    cout << "N of Sigmas in D* selection =" << DStarSigma << endl;
    cout << "N of Sigmas in D0 selection = " << D0Sigma << endl;
    cout << "D0 Sidebands taken from  = " << D0SBSigmaLow << " - " << D0SBSigmaHigh << " sigmas " << endl; endl;
    
   
    
    cout << "DStar cut object:     " << DStarCutsFile << endl;
    cout << "Tracks cut object:    " << TrackCutsFile << endl;
  
    
    cout << "==========================================================" << endl;
    //gSystem->Sleep(2000);
    
//	TString DCutObjPath = "CutObjects/DStar/";
	 	
	
// ******************************** OPENING THE D* CUTS ************************************
    cout << "Getting D meson cut object from file \n" << DStarCutsFile.Data() << "\n " << endl;
    TFile* filecuts=TFile::Open(DStarCutsFile.Data());
    if(!filecuts->IsOpen()){
    cout<<"DStar cut object file not found: exit"<<endl;
    return;
    }
    
    AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
    RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
    RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
    
    // mm let's see if everything is ok
	if(!RDHFDStartoKpipi){
		cout<<"Specific AliRDHFCuts not found"<<endl;
		return;
	}
    
        
       // RDHFDStartoKpipi->SetTriggerClass("");
       // RDHFDStartoKpipi->SetTriggerMask(AliVEvent::kCentral);
    
    if(minDStarPt>RDHFDStartoKpipi->GetMinPtCandidate()){
        cout << "Changing minimum pT of DStar from " << RDHFDStartoKpipi->GetMinPtCandidate() << " to " << minDStarPt << endl;
        RDHFDStartoKpipi->SetMinPtCandidate(minDStarPt);
    }
	
// ******************************** OPENING THE ASSOCIATED TRACK CUTS ************************************
	cout << "Getting associated track cut object from file \n" << TrackCutsFile.Data() << "\n " << endl;
	TFile* filecuts2=TFile::Open(TrackCutsFile.Data());
	  if(!filecuts2->IsOpen()){
		  cout<<"Track cut object file not found: exit"<<endl;
		  return;
    }
 	AliHFAssociatedTrackCuts* corrCuts=new AliHFAssociatedTrackCuts();
	corrCuts = (AliHFAssociatedTrackCuts*)filecuts2->Get("AssociatedCuts");
	corrCuts->SetName("AssociatedCuts");
	corrCuts->PrintAll();
	if(!corrCuts){
		cout<<"Specific associated track cuts not found"<<endl;
		return;
	}
	
    if(UseEffic && !corrCuts->IsTrackEffMap()){
        cout << "You are trying to use the single track efficiency, but there is no map loaded in the cut object " << endl;
        return;
    }
    

    
    if(UseDEffic && var == AliAnalysisTaskDStarCorrelations::kNone && (!corrCuts->IsTrigEffMap1D()&&(!corrCuts->IsTrigEffMap1DB()))){
        cout << "You are trying to use the DStar efficiency vs pt only, but there is no map loaded in the cut object " << endl;
        return;
    }
    
    if(UseDEffic && (var != AliAnalysisTaskDStarCorrelations::kNone) && (!corrCuts->IsTrigEffMap2D()&&(!corrCuts->IsTrigEffMap2DB()))){
        cout << "You are trying to use the DStar efficiency vs pt only, but there is no map loaded in the cut object " << endl;
        return;
    }
    
// ******************************** SELECTING THE MC PROCESS  ************************************

	TString selectMCproc = "";
	
	Int_t NMCevents = corrCuts->GetNofMCEventType();
	for(Int_t k=0; k<NMCevents; k++){
		Int_t * MCEventType = corrCuts->GetMCEventType();
		selectMCproc += Form("%d",MCEventType[k]);
	}

	 cout << "Select process string = " << selectMCproc << endl;
	


// ******************************** CREATING THE TASK ************************************
 
    printf("CREATE TASK \n");
  // create the task
  AliAnalysisTaskDStarCorrelations *task = new AliAnalysisTaskDStarCorrelations("AliAnalysisTaskDStarCorrelations",RDHFDStartoKpipi,corrCuts,syst,fullmode);
	
	// Setters

	if(!theMCon) {
		printf("Analysis on Data - reconstruction only!");
		UseReco = kTRUE;
        printf("Analysis on Data - hadronic channel only!");
		UseHadChannelinMC = kFALSE;
	}
    
    

	
    task->SetNofPhiBins(nbins);
	task->SetMonteCarlo(theMCon);
	task->SetUseMixing(mixing);
	task->SetCorrelator(trackselect) ;
	task->SetUseDisplacement(usedispl);
	//task->SetCollSys(syst);
	task->SetLevelOfDebug(2);
	task->SetUseReconstruction(UseReco); // set kTRUE for Using Reconstruction, kFALSe for MC Truth
    task->SetDMesonSigmas(DStarSigma,D0Sigma,D0SBSigmaLow,D0SBSigmaHigh);
	//task->SetDMesonSigmas(sigmas);
    //task->SetDMesonSigmas(sigmas);
    task->SetUseEfficiencyCorrection(UseEffic);
    task->SetUseDmesonEfficiencyCorrection(UseDEffic);
    task->SetUseRemoveMoreThanOneCDmesonCandidate(useOnlyOneDStarPerEvent);
    
    task->SetEfficiencyVariable(var);
    task->SetMaxDStarEta(eta);
    task->SetUseHadronicChannelAtKineLevel(UseHadChannelinMC);
	if(useDStarSidebands)task->SetBkgEstimationMethod(AliAnalysisTaskDStarCorrelations::kDStarSB);
    if(!useDStarSidebands)task->SetBkgEstimationMethod(AliAnalysisTaskDStarCorrelations::kDZeroSB);

	if(trackselect == 1) Info(" AliAnalysisTaskDStarCorrelations","Correlating D* with charged hadrons \n");
	else if(trackselect == 2) Info(" AliAnalysisTaskDStarCorrelations","Correlating D* with charged kaons \n");
	else if(trackselect == 3) Info(" AliAnalysisTaskDStarCorrelations","Correlating D* with reconstructed K0s \n");
	else Fatal(" AliAnalysisTaskDStarCorrelations","Nothing to correlate with!");
	if(mixing) Info (" AliAnalysisTaskDStarCorrelations","Event Mixing Analysis\n");
	if(!mixing) Info (" AliAnalysisTaskDStarCorrelations","Single Event Analysis \n");

  // Create and connect containers for input/output
	//TString dcavalue = " ";
    
  TString contname1 = "OutputEvent";
    TString contname2 = "OutputDmeson";
    TString contname3 = "OutputTracks";
    TString contname4 = "OutputEventMixing";
    TString contname5 = "OutputCorrelations";
    TString contname6 = "OutputMC";
    TString counter = "NormCounter";
    TString cutname1 = "Dcuts" ;
	TString cutname2 = "hadroncuts" ;
    
    //if(suffix != ""){
        contname1 += suffix;
        contname2 += suffix;
        contname3 += suffix;
        contname4 += suffix;
        contname5 += suffix;
         contname6 += suffix;
        counter += suffix;
        cutname1 += suffix;
        cutname2 += suffix;
        
        
   // }
    
   // else{
    
	//if(!theMCon) TString contname = "Data";
	//if(theMCon) TString contname = "MonteCarlo";
	//TString contname2 = "MC";
	//if(trackselect ==1) TString particle = "Hadron";
	//if(trackselect ==2) TString particle = "Kaon";
	//if(trackselect ==3) TString particle = "KZero";
	
	
	TString outputfile = AliAnalysisManager::GetCommonFileName();
	//TString outputfileMC = AliAnalysisManager::GetCommonFileName();
	//TString counter = "NormCounter";
	outputfile += ":PWGHF_HFCJ_";
	//outputfileMC += ":PWGHF_HFCJ_";
	
	if(!mixing) {
		outputfile += "SE";
		//outputfileMC += "SE";
		/*contname1 += "SE";
		contname2 += "SE";
        contname3 += "SE";
        contname4 += "SE";
        contname5 += "SE";
        counter+= "SE";
        cutname1 += "SE";
		cutname2 += "SE";*/
		
	}
	if(mixing){
		outputfile += "ME";
		//outputfileMC += "ME";
		
	}
    

    
	/*outputfile += "Dphi_DStar";
	//outputfileMC += "Dphi_DStar";
	outputfile += particle;
	//outputfileMC += particle;
	*/
    if(UseEffic){
        outputfile += "_EffY_";
		//outputfileMC += "_EffY_";
	
    }
    
    if(!UseEffic){
        outputfile += "_EffN_";
		//outputfileMC += "_EffN_";
		
    }
    
    if(UseDEffic){
        TString string = "DEffY_";
        
        if(var == AliAnalysisTaskDStarCorrelations::kNone) string += "vsPt_";
        if(var == AliAnalysisTaskDStarCorrelations::kMult) string += "vsPtMult_";
        if(var == AliAnalysisTaskDStarCorrelations::kCentr) string += "vsPCentrt_";
        if(var == AliAnalysisTaskDStarCorrelations::kRapidity) string += "vsPtY_";
        if(var == AliAnalysisTaskDStarCorrelations::kEta) string += "vsPtEta_";
        
        outputfile += string;
		//outputfileMC += string;
		
    }
    
    if(!UseDEffic){
        outputfile += "DEffN_";
		//outputfileMC += "DEffN_";
		
    }
	
    
    outputfile += Form("%d_bins_",nbins);
	//outputfileMC += Form("%d_bins_",nbins);

    
	
	outputfile += suffix;
	//outputfileMC += Form("task_%d",tasknumber);
	
	
/*	outputfile += TrackCutObjNamePrefix;
	//outputfileMC += TrackCutObjNamePrefix;
	cutname += TrackCutObjNamePrefix;
	cutname2 += TrackCutObjNamePrefix;
	contname += TrackCutObjNamePrefix;
	contname2 += TrackCutObjNamePrefix;
	counter+= TrackCutObjNamePrefix;
*/	
	outputfile += selectMCproc;
	//outputfileMC += selectMCproc;
	
	
	TString reco = "";
	
	if(UseReco) reco = "_reco";
	if(!UseReco) {
        if(UseHadChannelinMC) reco = "_MCTruthHadChan";
        if(!UseHadChannelinMC) reco = "_MCTruthAllChan";
	}
	outputfile += reco;
	//outputfileMC += reco;

	
	TString nsigma = Form("_%.0f_%.0f%.0f%.0f_sigmas",DStarSigma,D0Sigma,D0SBSigmaLow,D0SBSigmaHigh);
	
	//cout << "nsigma string = "<< nsigma << endl;
	
	outputfile += nsigma;
	//outputfileMC += nsigma;

	
	/*
	cout << contname << endl;
	cout << contname2 << endl;
	cout << cutname << endl;
	cout << cutname2 << endl;
	cout << counter << endl;
	cout << outputfile << endl;*/
	//return;
	//}// end else
  mgr->AddTask(task);
  // ------ input data ------
  AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
  
  // ----- output data -----
  
  // output TH1I for event counting
	
	//TLists
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(contname2, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
    AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(contname3, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
     AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(contname4, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
     AliAnalysisDataContainer *coutput5 = mgr->CreateContainer(contname5, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
    AliAnalysisDataContainer *coutput6 = mgr->CreateContainer(contname6, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
    // Normalization Counter
    AliAnalysisDataContainer *coutput7 = mgr->CreateContainer(counter,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
   // Cut Objects
  AliAnalysisDataContainer *coutput8 = mgr->CreateContainer(cutname1,AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts D
  AliAnalysisDataContainer *coutput9 = mgr->CreateContainer(cutname2,AliHFAssociatedTrackCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts tracks

  
	
  mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task,1,coutput1);
  mgr->ConnectOutput(task,2,coutput2);
  mgr->ConnectOutput(task,3,coutput3);
  mgr->ConnectOutput(task,4,coutput4);
  mgr->ConnectOutput(task,5,coutput5);
     mgr->ConnectOutput(task,6,coutput6);
    mgr->ConnectOutput(task,7,coutput7);
    mgr->ConnectOutput(task,8,coutput8);
    mgr->ConnectOutput(task,9,coutput9);

  return task ;

}

 AddTaskDStarCorrelations.C:1
 AddTaskDStarCorrelations.C:2
 AddTaskDStarCorrelations.C:3
 AddTaskDStarCorrelations.C:4
 AddTaskDStarCorrelations.C:5
 AddTaskDStarCorrelations.C:6
 AddTaskDStarCorrelations.C:7
 AddTaskDStarCorrelations.C:8
 AddTaskDStarCorrelations.C:9
 AddTaskDStarCorrelations.C:10
 AddTaskDStarCorrelations.C:11
 AddTaskDStarCorrelations.C:12
 AddTaskDStarCorrelations.C:13
 AddTaskDStarCorrelations.C:14
 AddTaskDStarCorrelations.C:15
 AddTaskDStarCorrelations.C:16
 AddTaskDStarCorrelations.C:17
 AddTaskDStarCorrelations.C:18
 AddTaskDStarCorrelations.C:19
 AddTaskDStarCorrelations.C:20
 AddTaskDStarCorrelations.C:21
 AddTaskDStarCorrelations.C:22
 AddTaskDStarCorrelations.C:23
 AddTaskDStarCorrelations.C:24
 AddTaskDStarCorrelations.C:25
 AddTaskDStarCorrelations.C:26
 AddTaskDStarCorrelations.C:27
 AddTaskDStarCorrelations.C:28
 AddTaskDStarCorrelations.C:29
 AddTaskDStarCorrelations.C:30
 AddTaskDStarCorrelations.C:31
 AddTaskDStarCorrelations.C:32
 AddTaskDStarCorrelations.C:33
 AddTaskDStarCorrelations.C:34
 AddTaskDStarCorrelations.C:35
 AddTaskDStarCorrelations.C:36
 AddTaskDStarCorrelations.C:37
 AddTaskDStarCorrelations.C:38
 AddTaskDStarCorrelations.C:39
 AddTaskDStarCorrelations.C:40
 AddTaskDStarCorrelations.C:41
 AddTaskDStarCorrelations.C:42
 AddTaskDStarCorrelations.C:43
 AddTaskDStarCorrelations.C:44
 AddTaskDStarCorrelations.C:45
 AddTaskDStarCorrelations.C:46
 AddTaskDStarCorrelations.C:47
 AddTaskDStarCorrelations.C:48
 AddTaskDStarCorrelations.C:49
 AddTaskDStarCorrelations.C:50
 AddTaskDStarCorrelations.C:51
 AddTaskDStarCorrelations.C:52
 AddTaskDStarCorrelations.C:53
 AddTaskDStarCorrelations.C:54
 AddTaskDStarCorrelations.C:55
 AddTaskDStarCorrelations.C:56
 AddTaskDStarCorrelations.C:57
 AddTaskDStarCorrelations.C:58
 AddTaskDStarCorrelations.C:59
 AddTaskDStarCorrelations.C:60
 AddTaskDStarCorrelations.C:61
 AddTaskDStarCorrelations.C:62
 AddTaskDStarCorrelations.C:63
 AddTaskDStarCorrelations.C:64
 AddTaskDStarCorrelations.C:65
 AddTaskDStarCorrelations.C:66
 AddTaskDStarCorrelations.C:67
 AddTaskDStarCorrelations.C:68
 AddTaskDStarCorrelations.C:69
 AddTaskDStarCorrelations.C:70
 AddTaskDStarCorrelations.C:71
 AddTaskDStarCorrelations.C:72
 AddTaskDStarCorrelations.C:73
 AddTaskDStarCorrelations.C:74
 AddTaskDStarCorrelations.C:75
 AddTaskDStarCorrelations.C:76
 AddTaskDStarCorrelations.C:77
 AddTaskDStarCorrelations.C:78
 AddTaskDStarCorrelations.C:79
 AddTaskDStarCorrelations.C:80
 AddTaskDStarCorrelations.C:81
 AddTaskDStarCorrelations.C:82
 AddTaskDStarCorrelations.C:83
 AddTaskDStarCorrelations.C:84
 AddTaskDStarCorrelations.C:85
 AddTaskDStarCorrelations.C:86
 AddTaskDStarCorrelations.C:87
 AddTaskDStarCorrelations.C:88
 AddTaskDStarCorrelations.C:89
 AddTaskDStarCorrelations.C:90
 AddTaskDStarCorrelations.C:91
 AddTaskDStarCorrelations.C:92
 AddTaskDStarCorrelations.C:93
 AddTaskDStarCorrelations.C:94
 AddTaskDStarCorrelations.C:95
 AddTaskDStarCorrelations.C:96
 AddTaskDStarCorrelations.C:97
 AddTaskDStarCorrelations.C:98
 AddTaskDStarCorrelations.C:99
 AddTaskDStarCorrelations.C:100
 AddTaskDStarCorrelations.C:101
 AddTaskDStarCorrelations.C:102
 AddTaskDStarCorrelations.C:103
 AddTaskDStarCorrelations.C:104
 AddTaskDStarCorrelations.C:105
 AddTaskDStarCorrelations.C:106
 AddTaskDStarCorrelations.C:107
 AddTaskDStarCorrelations.C:108
 AddTaskDStarCorrelations.C:109
 AddTaskDStarCorrelations.C:110
 AddTaskDStarCorrelations.C:111
 AddTaskDStarCorrelations.C:112
 AddTaskDStarCorrelations.C:113
 AddTaskDStarCorrelations.C:114
 AddTaskDStarCorrelations.C:115
 AddTaskDStarCorrelations.C:116
 AddTaskDStarCorrelations.C:117
 AddTaskDStarCorrelations.C:118
 AddTaskDStarCorrelations.C:119
 AddTaskDStarCorrelations.C:120
 AddTaskDStarCorrelations.C:121
 AddTaskDStarCorrelations.C:122
 AddTaskDStarCorrelations.C:123
 AddTaskDStarCorrelations.C:124
 AddTaskDStarCorrelations.C:125
 AddTaskDStarCorrelations.C:126
 AddTaskDStarCorrelations.C:127
 AddTaskDStarCorrelations.C:128
 AddTaskDStarCorrelations.C:129
 AddTaskDStarCorrelations.C:130
 AddTaskDStarCorrelations.C:131
 AddTaskDStarCorrelations.C:132
 AddTaskDStarCorrelations.C:133
 AddTaskDStarCorrelations.C:134
 AddTaskDStarCorrelations.C:135
 AddTaskDStarCorrelations.C:136
 AddTaskDStarCorrelations.C:137
 AddTaskDStarCorrelations.C:138
 AddTaskDStarCorrelations.C:139
 AddTaskDStarCorrelations.C:140
 AddTaskDStarCorrelations.C:141
 AddTaskDStarCorrelations.C:142
 AddTaskDStarCorrelations.C:143
 AddTaskDStarCorrelations.C:144
 AddTaskDStarCorrelations.C:145
 AddTaskDStarCorrelations.C:146
 AddTaskDStarCorrelations.C:147
 AddTaskDStarCorrelations.C:148
 AddTaskDStarCorrelations.C:149
 AddTaskDStarCorrelations.C:150
 AddTaskDStarCorrelations.C:151
 AddTaskDStarCorrelations.C:152
 AddTaskDStarCorrelations.C:153
 AddTaskDStarCorrelations.C:154
 AddTaskDStarCorrelations.C:155
 AddTaskDStarCorrelations.C:156
 AddTaskDStarCorrelations.C:157
 AddTaskDStarCorrelations.C:158
 AddTaskDStarCorrelations.C:159
 AddTaskDStarCorrelations.C:160
 AddTaskDStarCorrelations.C:161
 AddTaskDStarCorrelations.C:162
 AddTaskDStarCorrelations.C:163
 AddTaskDStarCorrelations.C:164
 AddTaskDStarCorrelations.C:165
 AddTaskDStarCorrelations.C:166
 AddTaskDStarCorrelations.C:167
 AddTaskDStarCorrelations.C:168
 AddTaskDStarCorrelations.C:169
 AddTaskDStarCorrelations.C:170
 AddTaskDStarCorrelations.C:171
 AddTaskDStarCorrelations.C:172
 AddTaskDStarCorrelations.C:173
 AddTaskDStarCorrelations.C:174
 AddTaskDStarCorrelations.C:175
 AddTaskDStarCorrelations.C:176
 AddTaskDStarCorrelations.C:177
 AddTaskDStarCorrelations.C:178
 AddTaskDStarCorrelations.C:179
 AddTaskDStarCorrelations.C:180
 AddTaskDStarCorrelations.C:181
 AddTaskDStarCorrelations.C:182
 AddTaskDStarCorrelations.C:183
 AddTaskDStarCorrelations.C:184
 AddTaskDStarCorrelations.C:185
 AddTaskDStarCorrelations.C:186
 AddTaskDStarCorrelations.C:187
 AddTaskDStarCorrelations.C:188
 AddTaskDStarCorrelations.C:189
 AddTaskDStarCorrelations.C:190
 AddTaskDStarCorrelations.C:191
 AddTaskDStarCorrelations.C:192
 AddTaskDStarCorrelations.C:193
 AddTaskDStarCorrelations.C:194
 AddTaskDStarCorrelations.C:195
 AddTaskDStarCorrelations.C:196
 AddTaskDStarCorrelations.C:197
 AddTaskDStarCorrelations.C:198
 AddTaskDStarCorrelations.C:199
 AddTaskDStarCorrelations.C:200
 AddTaskDStarCorrelations.C:201
 AddTaskDStarCorrelations.C:202
 AddTaskDStarCorrelations.C:203
 AddTaskDStarCorrelations.C:204
 AddTaskDStarCorrelations.C:205
 AddTaskDStarCorrelations.C:206
 AddTaskDStarCorrelations.C:207
 AddTaskDStarCorrelations.C:208
 AddTaskDStarCorrelations.C:209
 AddTaskDStarCorrelations.C:210
 AddTaskDStarCorrelations.C:211
 AddTaskDStarCorrelations.C:212
 AddTaskDStarCorrelations.C:213
 AddTaskDStarCorrelations.C:214
 AddTaskDStarCorrelations.C:215
 AddTaskDStarCorrelations.C:216
 AddTaskDStarCorrelations.C:217
 AddTaskDStarCorrelations.C:218
 AddTaskDStarCorrelations.C:219
 AddTaskDStarCorrelations.C:220
 AddTaskDStarCorrelations.C:221
 AddTaskDStarCorrelations.C:222
 AddTaskDStarCorrelations.C:223
 AddTaskDStarCorrelations.C:224
 AddTaskDStarCorrelations.C:225
 AddTaskDStarCorrelations.C:226
 AddTaskDStarCorrelations.C:227
 AddTaskDStarCorrelations.C:228
 AddTaskDStarCorrelations.C:229
 AddTaskDStarCorrelations.C:230
 AddTaskDStarCorrelations.C:231
 AddTaskDStarCorrelations.C:232
 AddTaskDStarCorrelations.C:233
 AddTaskDStarCorrelations.C:234
 AddTaskDStarCorrelations.C:235
 AddTaskDStarCorrelations.C:236
 AddTaskDStarCorrelations.C:237
 AddTaskDStarCorrelations.C:238
 AddTaskDStarCorrelations.C:239
 AddTaskDStarCorrelations.C:240
 AddTaskDStarCorrelations.C:241
 AddTaskDStarCorrelations.C:242
 AddTaskDStarCorrelations.C:243
 AddTaskDStarCorrelations.C:244
 AddTaskDStarCorrelations.C:245
 AddTaskDStarCorrelations.C:246
 AddTaskDStarCorrelations.C:247
 AddTaskDStarCorrelations.C:248
 AddTaskDStarCorrelations.C:249
 AddTaskDStarCorrelations.C:250
 AddTaskDStarCorrelations.C:251
 AddTaskDStarCorrelations.C:252
 AddTaskDStarCorrelations.C:253
 AddTaskDStarCorrelations.C:254
 AddTaskDStarCorrelations.C:255
 AddTaskDStarCorrelations.C:256
 AddTaskDStarCorrelations.C:257
 AddTaskDStarCorrelations.C:258
 AddTaskDStarCorrelations.C:259
 AddTaskDStarCorrelations.C:260
 AddTaskDStarCorrelations.C:261
 AddTaskDStarCorrelations.C:262
 AddTaskDStarCorrelations.C:263
 AddTaskDStarCorrelations.C:264
 AddTaskDStarCorrelations.C:265
 AddTaskDStarCorrelations.C:266
 AddTaskDStarCorrelations.C:267
 AddTaskDStarCorrelations.C:268
 AddTaskDStarCorrelations.C:269
 AddTaskDStarCorrelations.C:270
 AddTaskDStarCorrelations.C:271
 AddTaskDStarCorrelations.C:272
 AddTaskDStarCorrelations.C:273
 AddTaskDStarCorrelations.C:274
 AddTaskDStarCorrelations.C:275
 AddTaskDStarCorrelations.C:276
 AddTaskDStarCorrelations.C:277
 AddTaskDStarCorrelations.C:278
 AddTaskDStarCorrelations.C:279
 AddTaskDStarCorrelations.C:280
 AddTaskDStarCorrelations.C:281
 AddTaskDStarCorrelations.C:282
 AddTaskDStarCorrelations.C:283
 AddTaskDStarCorrelations.C:284
 AddTaskDStarCorrelations.C:285
 AddTaskDStarCorrelations.C:286
 AddTaskDStarCorrelations.C:287
 AddTaskDStarCorrelations.C:288
 AddTaskDStarCorrelations.C:289
 AddTaskDStarCorrelations.C:290
 AddTaskDStarCorrelations.C:291
 AddTaskDStarCorrelations.C:292
 AddTaskDStarCorrelations.C:293
 AddTaskDStarCorrelations.C:294
 AddTaskDStarCorrelations.C:295
 AddTaskDStarCorrelations.C:296
 AddTaskDStarCorrelations.C:297
 AddTaskDStarCorrelations.C:298
 AddTaskDStarCorrelations.C:299
 AddTaskDStarCorrelations.C:300
 AddTaskDStarCorrelations.C:301
 AddTaskDStarCorrelations.C:302
 AddTaskDStarCorrelations.C:303
 AddTaskDStarCorrelations.C:304
 AddTaskDStarCorrelations.C:305
 AddTaskDStarCorrelations.C:306
 AddTaskDStarCorrelations.C:307
 AddTaskDStarCorrelations.C:308
 AddTaskDStarCorrelations.C:309
 AddTaskDStarCorrelations.C:310
 AddTaskDStarCorrelations.C:311
 AddTaskDStarCorrelations.C:312
 AddTaskDStarCorrelations.C:313
 AddTaskDStarCorrelations.C:314
 AddTaskDStarCorrelations.C:315
 AddTaskDStarCorrelations.C:316
 AddTaskDStarCorrelations.C:317
 AddTaskDStarCorrelations.C:318
 AddTaskDStarCorrelations.C:319
 AddTaskDStarCorrelations.C:320
 AddTaskDStarCorrelations.C:321
 AddTaskDStarCorrelations.C:322
 AddTaskDStarCorrelations.C:323
 AddTaskDStarCorrelations.C:324
 AddTaskDStarCorrelations.C:325
 AddTaskDStarCorrelations.C:326
 AddTaskDStarCorrelations.C:327
 AddTaskDStarCorrelations.C:328
 AddTaskDStarCorrelations.C:329
 AddTaskDStarCorrelations.C:330
 AddTaskDStarCorrelations.C:331
 AddTaskDStarCorrelations.C:332
 AddTaskDStarCorrelations.C:333
 AddTaskDStarCorrelations.C:334
 AddTaskDStarCorrelations.C:335
 AddTaskDStarCorrelations.C:336
 AddTaskDStarCorrelations.C:337
 AddTaskDStarCorrelations.C:338
 AddTaskDStarCorrelations.C:339
 AddTaskDStarCorrelations.C:340
 AddTaskDStarCorrelations.C:341
 AddTaskDStarCorrelations.C:342
 AddTaskDStarCorrelations.C:343
 AddTaskDStarCorrelations.C:344
 AddTaskDStarCorrelations.C:345
 AddTaskDStarCorrelations.C:346
 AddTaskDStarCorrelations.C:347
 AddTaskDStarCorrelations.C:348
 AddTaskDStarCorrelations.C:349
 AddTaskDStarCorrelations.C:350
 AddTaskDStarCorrelations.C:351
 AddTaskDStarCorrelations.C:352
 AddTaskDStarCorrelations.C:353
 AddTaskDStarCorrelations.C:354
 AddTaskDStarCorrelations.C:355
 AddTaskDStarCorrelations.C:356
 AddTaskDStarCorrelations.C:357
 AddTaskDStarCorrelations.C:358
 AddTaskDStarCorrelations.C:359
 AddTaskDStarCorrelations.C:360
 AddTaskDStarCorrelations.C:361
 AddTaskDStarCorrelations.C:362
 AddTaskDStarCorrelations.C:363
 AddTaskDStarCorrelations.C:364
 AddTaskDStarCorrelations.C:365
 AddTaskDStarCorrelations.C:366
 AddTaskDStarCorrelations.C:367
 AddTaskDStarCorrelations.C:368
 AddTaskDStarCorrelations.C:369
 AddTaskDStarCorrelations.C:370
 AddTaskDStarCorrelations.C:371
 AddTaskDStarCorrelations.C:372
 AddTaskDStarCorrelations.C:373
 AddTaskDStarCorrelations.C:374
 AddTaskDStarCorrelations.C:375
 AddTaskDStarCorrelations.C:376
 AddTaskDStarCorrelations.C:377
 AddTaskDStarCorrelations.C:378
 AddTaskDStarCorrelations.C:379
 AddTaskDStarCorrelations.C:380
 AddTaskDStarCorrelations.C:381
 AddTaskDStarCorrelations.C:382
 AddTaskDStarCorrelations.C:383
 AddTaskDStarCorrelations.C:384
 AddTaskDStarCorrelations.C:385
 AddTaskDStarCorrelations.C:386
 AddTaskDStarCorrelations.C:387
 AddTaskDStarCorrelations.C:388
 AddTaskDStarCorrelations.C:389
 AddTaskDStarCorrelations.C:390
 AddTaskDStarCorrelations.C:391
 AddTaskDStarCorrelations.C:392
 AddTaskDStarCorrelations.C:393
 AddTaskDStarCorrelations.C:394
 AddTaskDStarCorrelations.C:395
 AddTaskDStarCorrelations.C:396
 AddTaskDStarCorrelations.C:397
 AddTaskDStarCorrelations.C:398
 AddTaskDStarCorrelations.C:399
 AddTaskDStarCorrelations.C:400
 AddTaskDStarCorrelations.C:401
 AddTaskDStarCorrelations.C:402
 AddTaskDStarCorrelations.C:403
 AddTaskDStarCorrelations.C:404
 AddTaskDStarCorrelations.C:405
 AddTaskDStarCorrelations.C:406
 AddTaskDStarCorrelations.C:407
 AddTaskDStarCorrelations.C:408